Как конфигурировать количество процессов Workers в Celery
Python
Middle
Без компании
Как конфигурировать количество процессов Workers в Celery
Ответы
Для конфигурации количества воркеров в Celery есть несколько способов:
- При запуске через команду:
```
celery -A proj worker --concurrency=4
```
- В настройках Celery (settings.py):
```
CELERY_WORKER_CONCURRENCY = 4
```
- Через переменную окружения:
```
export CELERY_WORKER_CONCURRENCY=4
```
Оптимальное количество воркеров зависит от:
- Количества CPU ядер (обычно 2-4x от числа ядер)
- Типа задач (CPU-bound или I/O-bound)
- Доступной памяти
Для I/O-bound задач можно увеличивать concurrency больше, чем ядер CPU. Для CPU-bound - не больше количества ядер.
Пример с пулом процессов:
```
from celery import Celery
app = Celery('tasks')
app.conf.worker_concurrency = 8
```