Перезапуск отношений celery и celery beat schedule в django
При перезапуске celery все периодические задачи (расписания биений celery) будут сброшены и запущены с момента перезапуска celery или расписание сохранится?
Например, предположим, у меня есть периодическая задача, которая выполняется в 12 часов дня каждый день. Теперь я перезапускаю celery в 15:00. Будет ли периодическая задача переведена на выполнение в 15:00 ежедневно?
Как поставить задачу?
Вот множество способов установить расписание задач →
- Пример: Запускайте задание tasks.add каждые 30 секунд. .
app.conf.beat_schedule = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': 30.0,
'args': (16, 16)
},
}
app.conf.timezone = 'UTC'
Это задание выполняется каждые 30 секунд после запуска.
- Другой пример:
from celery.schedules import crontab
app.conf.beat_schedule = {
# Executes every Monday morning at 7:30 a.m.
'add-every-monday-morning': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30),
'args': (16, 16),
},
}
Это задание выполняется в 7:30 каждый день.
Вы можете посмотреть примеры расписания
Так что ответ зависит от вашего кода.