Для чего нужны таблицы django-celery (djcelery)?

Когда я запускаю syncdb, я замечаю много таблиц, созданных как:

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

django-kombu предоставляет транспорт, поэтому он не может быть связан с реальной очередью. Даже когда я запускаю задачи, я все еще не вижу ничего заселенного в этих таблицах. Для чего используются эти таблицы? Только для мониторинга - если я включил его?

Если да, то также верно, что если я просмотрю AsyncResult(), я предполагаю, что на самом деле ищет результат задачи через таблицы django-kombu вместо djcelery?

Спасибо.

Ответы

Ответ 1

Таблица целевых задач сельдерея, заполненная демонами celerycam, предназначена только для целей мониторинга.

Другие таблицы, такие как "crontabschedule" "интервалы" и т.д., предназначены для планирования периодических задач с использованием django backend db. Эти таблицы используются, когда вы запускаете сельдерей в режиме бит (-B), и когда вы устанавливаете этот параметр в настройках

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

Таким образом, вы указываете сельдерейу использовать django db для задач расписания.