纠正配置错误的芹菜(与主管一起运行)

哈桑·拜格(Hassan Baig)

我开始在Python / Django Web项目中运行celery来完成任务,该项目托管在具有8个核心或CPU的单个VM上。我现在需要改进配置-我犯了菜鸟错误。

我用来supervisor和芹菜打交道。在中/etc/supervisor/conf.d/,我有两个与工作人员相关的conf文件-celery1.confcelery1.conf我是不是该...

1)删除其中之一?两者都产生不同的工人。即以前的conf文件有command=python manage.py celery worker -l info -n celeryworker1后者有command=python manage.py celery worker -l info -n celeryworker2并且在这里权威地声明要在每台计算机上运行1个worker。

2)修补程序numprocs中的conf?目前celery1.conf,我已经定义了numprocs=2在中celery2.conf,我定义了numprocs=3*(请参阅页脚)。同时,在中/etc/default/celeryd,我有CELERYD_OPTS="--time-limit=300 --concurrency=8"发生什么了?主管numprocs优先concurrency于芹菜,还是什么?我应该设置numprocs=0吗?


*两个文件的总numprocs = 2 + 3 =5。这将签出。sudo supervisorctl显示5个芹菜工人进程。但是在newrelic中,我看到celeryd正在运行45个进程有没有搞错?!即使主管创建的每个进程实际上生下了8个进程(通过celeryd),总数也是如此numprocs x concurrency = 5 x 8 = 40这比newrelic显示的45个少5个。在纠正这些错误时需要指导。

比较屏幕截图:

每个主管5名芹菜工人

根据newrelic进行45个运行中的芹菜过程

布鲁诺·德斯胡里尔斯

它在这里被权威地声明为每台机器运行1个工作程序

实际上,建议(“我建议”)在此给定的用例下,每台机器仅运行一名工作人员

您可能有充分的理由进行其他操作(例如,针对不同的队列使用不同的工作程序...),并且celery文档指出,最有效的工作程序数量/每个工作程序(并发)的多少取决于您的任务,使用情况,机器和其他功能。

WRT /numprocs在导师的conf和concurrency芹菜,这是完全不相关的(嗯,差不多......)的东西。芹菜“工人”实际上是产卵concurrency子(这是有效处理任务的子程序)的一个主要过程主管numprocs告诉主管应启动多少个流程(此处为芹菜工人)。因此,如果您有一个numprocs= 2的celery conf,而另一个numproc= 3的celery conf ,则意味着您总共启动了5个父级worker进程-每个进程都生成n子代,其中-默认情况下-n是服务器的cpus计数。这意味着您总共有5 +(5 * 8)= 45个工作子进程正在运行。

如果您实际上需要很多工人是一个只有您可以回答的问题;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何与主管一起运行ElastAlert

来自分类Dev

如何配置wordpress以与PHP 7一起运行

来自分类Dev

芹菜未与烧瓶应用程序一起运行

来自分类Dev

C、代码一起运行

来自分类Dev

graphql-codegen无法与配置文件一起运行

来自分类Dev

Subclipse错误“ svn:SQLite已为3.8.6编译,但与3.8.5一起运行”

来自分类Dev

使用lambdas的可变参数模板:g ++错误,但与clang ++一起运行

来自分类Dev

奇怪的错误-子例程仅与cout一起运行

来自分类Dev

Subclipse错误“ svn:SQLite已为3.8.6编译,但与3.8.5一起运行”

来自分类Dev

与jQuery 3.x一起运行时CKFinder错误

来自分类Dev

SignalR与Mono和apache一起运行:HTTP 500错误(在SignalR代码中)

来自分类Dev

使用VBA与数组一起运行Unix命令会得到类型不匹配错误

来自分类Dev

在Python中与循环一起运行单独的函数

来自分类Dev

.netFramework 4.5.1与Mono一起运行的dotnet失败

来自分类Dev

与nodemon一起运行node-inspector吗?

来自分类Dev

与雷宁根一起运行clojure

来自分类Dev

无法与Mesos一起运行Spark

来自分类Dev

cronjob未与codeigniter一起运行

来自分类Dev

确定Tomcat是否与Ruby一起运行

来自分类Dev

与PHP一起运行Flask [共享会话]

来自分类Dev

试图让Tomcat与XAMPP一起运行

来自分类Dev

每个选定元素的jQuery一起运行

来自分类Dev

我如何让Polynote与Kubernetes一起运行?

来自分类Dev

Jenkins Freestyle构建与魅力报告一起运行

来自分类Dev

Spark-Submit:无法与virtualenv一起运行

来自分类Dev

Java命令未与JSoup一起运行

来自分类Dev

Restlet在HTTPS BindException上与Jetty一起运行

来自分类Dev

如何确定程序是否与nohup一起运行?

来自分类Dev

Shell脚本未与cronjob一起运行

Related 相关文章

热门标签

归档