3

您如何确保 celeryd 仅作为单个进程运行?当我运行时manage.py celeryd --concurrency=1ps 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

我注意到 celerybeat 也存在类似问题,它始终作为 2 个进程运行。

4

1 回答 1

0

根据链接 .. 进程数为 4:一个主进程、两个子进程和一个 celerybeat 进程,如果您使用的是 FORCE_EXECV,则另一个进程开始清理信号量。

如果你使用 celery+django-celery 开发,并且使用 RabbitMQ 或 Redis 作为代理,那么它不应该使用超过一个额外的线程(如果设置了 CELERY_DISABLE_RATE_LIMITS,则不使用)

于 2013-09-30T04:40:05.030 回答