Celeryd запускает слишком много процессов

Как вы гарантируете, что celeryd работает только как один процесс? Когда я бегу manage.py celeryd --concurrency=1 а потом ps aux | grep celery Я вижу 3 запущенных экземпляра:

www-data  8609  0.0  0.0  20744  1572 ?        S    13:42   0:00 python manage.py celeryd --concurrency=1
www-data  8625  0.0  1.7 325916 71372 ?        S    13:42   0:01 python manage.py celeryd --concurrency=1
www-data  8768  0.0  1.5 401460 64024 ?        S    13:42   0:00 python manage.py celeryd --concurrency=1

Я заметил похожую проблему с сельдереем, который всегда выполняется в 2 процесса.

1 ответ

По этой ссылке. Число процессов будет равно 4: один основной процесс, два дочерних процесса и один процесс сельдерея, также если вы используете FORCE_EXECV, есть другой процесс, запущенный для очистки семафоров.

Если вы используете разработку celery + django-celery и используете RabbitMQ или Redis в качестве брокера, то он не должен использовать более одного дополнительного потока (ни один, если установлен CELERY_DISABLE_RATE_LIMITS)

Другие вопросы по тегам