#python-3.x #django #django-celery #celerybeat
#python-3.x #django #django-сельдерей #celerybeat
Вопрос:
Можем ли мы запустить задачу сельдерея в 1:30, 3:00, 4:30, 6 Я использую единую функцию crontab?
т.е. 'schedule': crontab(minute=30, hour='1, 3, 4, 6')
будет запускать ее в 1:30, 3:30, 4:30, 6: 30 УТРА
но я хочу, чтобы она выполнялась каждые 90 минут с 1:30 до 6 утра
Ответ №1:
Я бы создал два отдельных расписания (а не отдельную функцию) как
CELERY_BEAT_SCHEDULE = {
"task_one": {
"task": "path.to.task.my_task_function",
"schedule": crontab(minute="30", hour="1, 4")
},
"task_two": {
"task": "path.to.task.my_task_function",
"schedule": crontab(hour="3, 6")
},
}
Здесь расписания указывают на ту же функцию с тем же именем my_task_function(...)
, но с отдельными конфигурациями расписаний.
В этом параметре task_one
он будет выполняться в 1.30 и 4.30 UTC, тогда task_two
как он будет выполняться в 3.00
и 6.00
UTC