Вопрос: использование django celery.backend_cleanup - PullRequest
0 голосов
/ 28 декабря 2018

Существует не так много документации для фактического использования django celery.backend_cleanup

Давайте предположим, что у меня есть следующие 4 tasks scheduled with different interval

image

Проверка журналов DatabaseScheduler Iобнаружил, что только Task1 выполняется на интервале.

[2018-12-28 11:21:08,241: INFO/MainProcess] Writing entries...
[2018-12-28 11:24:08,778: INFO/MainProcess] Writing entries...
[2018-12-28 11:27:09,315: INFO/MainProcess] Writing entries...
[2018-12-28 11:28:32,948: INFO/MainProcess] Scheduler: Scheduler: Sending due TASK1(project_monitor_tasks)
[2018-12-28 11:30:13,215: INFO/MainProcess] Writing entries...
[2018-12-28 11:33:13,772: INFO/MainProcess] Writing entries...
[2018-12-28 11:36:14,316: INFO/MainProcess] Writing entries...
[2018-12-28 11:39:14,868: INFO/MainProcess] Writing entries...
[2018-12-28 11:42:15,397: INFO/MainProcess] Writing entries...
[2018-12-28 11:43:55,700: INFO/MainProcess] DatabaseScheduler: Schedule changed.
[2018-12-28 11:43:55,700: INFO/MainProcess] Writing entries...
[2018-12-28 11:45:15,997: INFO/MainProcess] Writing entries...
.....
....
[2018-12-28 17:16:28,613: INFO/MainProcess] Writing entries...
[2018-12-28 17:19:29,138: INFO/MainProcess] Writing entries...
[2018-12-28 17:22:29,625: INFO/MainProcess] Writing entries...
[2018-12-28 17:25:30,140: INFO/MainProcess] Writing entries...
[2018-12-28 17:28:30,657: INFO/MainProcess] Writing entries...
[2018-12-28 17:28:32,943: INFO/MainProcess] Scheduler: Sending due TASK1(project_monitor_tasks)
[2018-12-28 17:31:33,441: INFO/MainProcess] Writing entries...
[2018-12-28 17:34:34,009: INFO/MainProcess] Writing entries...
[2018-12-28 17:37:34,578: INFO/MainProcess] Writing entries...
[2018-12-28 17:40:35,130: INFO/MainProcess] Writing entries...
[2018-12-28 17:43:35,657: INFO/MainProcess] Writing entries...
[2018-12-28 17:43:50,716: INFO/MainProcess] DatabaseScheduler: Schedule changed.
[2018-12-28 17:43:50,716: INFO/MainProcess] Writing entries...
[2018-12-28 17:46:36,266: INFO/MainProcess] Writing entries...
[2018-12-28 17:49:36,809: INFO/MainProcess] Writing entries...
[2018-12-28 17:52:37,352: INFO/MainProcess] Writing entries...

Q1) почему другие TASKS, которые с разными интервалами, такие как 24,8,10 Часы не выполняются?Я предполагаю, что это потому, что Crontab of celery.backend_cleanup установлен на каждый 4 Hours, который очищает задачи очереди.Должен ли я сохранить большой интервал времени для задачи celery.backend_cleanup?

Q2) Почему мы должны сохранить задачу celery.backend_cleanup?Загружает ли он новые задачи при каждой очистке?

1 Ответ

0 голосов
/ 05 января 2019

Q1: Мы не можем ответить больше, не видя фактических графиков, зная вашу конфигурацию сельдерея или журналы за последние двадцать четыре часа.Задание backend_cleanup не влияет на посредника, его целью является очистка результатов задачи, срок действия которых истек, путем удаления результатов с истекшим сроком из базы данных результатов сельдерея СУБД, поэтому она не влияет на правильность выполнения задачи.

Q2: см. Выше.Вам следует использовать это задание, если вы используете серверную базу данных RDBMS / базы данных, если вы хотите, чтобы результаты сельдерея с истекшим сроком были удалены из вашей базы данных серверной части результатов сельдерея.

...