Состояние задачи сельдерея не обновляется - PullRequest
2 голосов
/ 10 января 2012

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

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

Тем не менее, это представление (http://myapp/tasks/37d9a3ac-5bd2-4791-9729-2234ff3be762/status) возвращает результат STALE в течение различного периода времени после завершения задачи. Я могу воспроизвести его, используя Redis и базу данных, какback-end. В конечном итоге состояние задачи возвращается правильно, но это действительно нарушает мое приложение, потому что пользовательский интерфейс опрашивает, чтобы проверить, завершена ли задача, прежде чем пользователь сможет что-либо сделать.

РЕДАКТИРОВАТЬ: мое приложение развернуто на Heroku. Интересно, Cedar выполняет кэширование ответов ??

Есть идеи, что происходит?

1 Ответ

1 голос
/ 14 января 2012

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

...