2012-01-10 5 views
1

Я вижу странную проблему с приложением Django, который использует сельдерей в качестве очереди задач:сельдерея государственная задача не обновляет

  1. Я пнуть задачу.
  2. Во время выполнения задача вызывает update_state (...), чтобы установить состояние задачи для указания прогресса.
  3. Задача завершается. Я проверяю это через журналы.

Однако эта точка зрения (Http: // MyApp/задачи/37d9a3ac-5bd2-4791-9729-2234ff3be762/статус) возвращает несвежий результат для переменного количества времени, а после того как задача завершена. Я могу воспроизвести это с использованием как Redis, так и базы данных в качестве исходного. В конечном итоге состояние задачи возвращается правильно, но это действительно нарушает мое приложение, потому что пользовательский опрос проверяет, завершена ли задача, прежде чем пользователь сможет что-либо сделать.

EDIT: мое приложение развернуто на Heroku. Интересно, действительно ли Кедр делает кеширование ответа?

Любая идея, что происходит?

ответ

1

Оказывается, это не было связано с сельдереем. Это происходило, потому что мой запрос AJAX к задаче/{id}/status получал кеширование браузером. Говорить jQuery, чтобы не кэшировать ответ, сделал трюк!

+0

Возможно, вы захотите принять этот ответ! –