Как изменить параллелизм рабочих Celery в приложении Django

Недавно я заметил, что сельдерей съедает много памяти на сервере. Один экземпляр съедает около 10% памяти

В обработке я вижу вполне стандартную ситуацию: /usr/local/bin/python -m celery -A apps worker -l INFO -c 4 --logfile celery_worker.log

При использовании потоков доходит до 14 экземпляров

Моя идея состояла в том, чтобы уменьшить параллелизм до 2 (из процесса я предлагаю установить его на 4)

Я пытался сделать это в настройках django

CELERY_WORKER_CONCURRENCY = 2

и событие помещается в файл сельдерея

app.conf.update(
    task_soft_time_limit=60 * 60 * 1,  # 2 hours,
    task_time_limit=60 * 60 * 2,  # 3 hours,
    worker_concurrency=2  # 2 workers
)

Но это не сработало. Я проверил его с помощью

celery -A apps inspect stats

            "max-concurrency": 4,                                                                                           
            "max-tasks-per-child": "N/A",                                                                                               

но, например, таймаут был установлен правильно

Можете ли вы предложить, как решить эту проблему?

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