与主管一起限制 Celery 中的进程数



我在 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 个进程。

相关内容

  • 没有找到相关文章

最新更新