Я использую django-сельдерей и установил все, чтобы я мог вызвать задачу из интерактивной оболочки, задача завершается (как свидетельствует журнал сельдерея) и i см. результат в производстве сельдерея.Сельдерей: Обязательно совершите транзакцию для каждой итерации опроса
Однако, мне кажется, не в состоянии когда-либо получить результат задачи в оболочке, где я начинаю задачу:
>>> from mymodule.tasks import testTask
>>> res = testTask.delay()
>>> testTask.ready()
False
@task
def testTask():
logger.info('LOGGER: start task')
time.sleep(10)
logger.info('LOGGER: stop task')
return 5
Я предполагаю, что это происходит из-за следующей ошибки, которые я иногда получаю:
TxIsolationWarning: Polling results with transaction isolation level repeatable-read within the same transaction may give outdated results. Be sure to commit the transaction for each poll iteration.
Мой вопрос, как совершить сделку и где это сделать? Кроме того, в чем проблема? Сельдерей пытается получить доступ к информации из mysql, в то время как Django заблокировал таблицу?
Спасибо заранее,
Хорошо, я отредактирован my.cnf для чтения транзакций-изоляции = READ-COMMITTED и все работает. Благодаря! – rix