Перезапуск отношений 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 каждый день.

Вы можете посмотреть примеры расписания

Так что ответ зависит от вашего кода.

Вернуться на верх