Зачем нужен Celery Beat
Python
Middle
Без компании
Зачем нужен Celery Beat
Ответы
Celery Beat — это планировщик задач для Celery, который позволяет выполнять периодические (cron-like) задачи. Он работает как отдельный процесс, запускающий задачи по расписанию.
**Основные сценарии:**
- Регулярные отчеты (ежедневные, еженедельные)
- Периодическая синхронизация данных
- Очистка временных данных
**Пример:**
```
from celery import Celery
from celery.schedules import crontab
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def send_daily_report():
print("Sending daily report...")
app.conf.beat_schedule = {
'send-report-every-day': {
'task': 'tasks.send_daily_report',
'schedule': crontab(hour=9, minute=0), # Каждый день в 9:00
},
}
```
**Запуск:**
```
celery -A tasks beat # Запуск планировщика
celery -A tasks worker # Запуск воркера
```
Используется вместе с Celery Worker, который выполняет сами задачи.