我在 AWS Elastic Beanstalk 的一个小实例中运行 Celery。
但是,当我做top
时,我看到有 3 个celery
进程正在运行。我只想拥有。
我正在使用supervisor
运行它,在我的配置文件中(仅显示相关行(:
[program:celeryd]
directory=/opt/python/current/app/src
command=/opt/python/run/venv/bin/celery worker -A ..."
user=celery
numprocs=1
killasgroup=true
我也遵循了此答案中的建议,并创建了一个包含此内容的文件/etc/default/celeryd
:
# Extra arguments to celeryd
CELERYD_OPTS="--concurrency=1"
重新启动芹菜(带supervisorctl -c config-file-path.conf restart celeryd
(后,我再次看到 3 个进程。有什么想法吗?谢谢!
您正在使用celery
命令启动工作线程。更改/etc/default/celeryd
不会对芹菜命令产生任何影响。此外,芹菜已被弃用。
启动工作线程时,celery 会启动默认进程和 n(并发(子进程。
您可以使用
[program:celery]
command=/opt/python/run/venv/bin/celery worker -c 1 -A foo"
这将启动并发性为 1 的工作线程,并且将有 2 个进程。