Конфигурировал ли Workers в Celery
Python
Middle
Без компании
Конфигурировал ли Workers в Celery
Ответы
Да, конфигурировал. Основные настройки Workers в Celery включают количество процессов (--concurrency), пулы (gevent/eventlet), логирование, ограничение памяти, graceful shutdown и т.д.
Пример конфигурации через аргументы командной строки:
```
celery -A proj worker --concurrency=4 --loglevel=INFO --max-tasks-per-child=100
```
Или через код в `celery.py`:
```
app.conf.worker_concurrency = 4
app.conf.worker_max_tasks_per_child = 100
app.conf.worker_prefetch_multiplier = 1 # Для fair scheduling
```
Нюансы:
- `--concurrency` влияет на параллелизм (по умолчанию = CPU cores).
- `--max-tasks-per-child` перезапускает воркеры для избежания утечек памяти.
- Для IO-bound задач лучше использовать `-P gevent`.
- `--without-heartbeat` может снизить нагрузку, но усложнит мониторинг.