Как настроить periodic tasks в Celery?

Middle
268 просмотров
AFK Offer AI

Celery Beat — планировщик периодических задач. В конфиге: beat_schedule = {"cleanup": {"task": "tasks.cleanup", "schedule": crontab(hour=3, minute=0)}}. Или timedelta(minutes=30). crontab — как cron: crontab(minute=0, hour="*/2") — каждые 2 часа. Запуск: celery -A app beat. Beat + worker — можно в одном процессе: celery -A app worker -B. django-celery-beat — динамическое управление расписанием через Django admin. Solar schedules — по восходу/закату. Beat гарантирует at-most-once — если воркер не успел, задача не дублируется.

Следующий вопрос

Как работает паттерн Strategy в Python?