Для чего нужны таблицы 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 для задач расписания.