芹菜不启动多个工人
Posted
技术标签:
【中文标题】芹菜不启动多个工人【英文标题】:Celery does not start multiple workers 【发布时间】:2018-07-10 14:35:25 【问题描述】:我正在尝试设置一个服务器以使用 celery 在 Ubuntu 上运行多个工作人员。使用通用脚本设置守护进程并使用 rabbit-mq 作为代理。
celery==3.1.23
django-celery==3.1.17
django-celery-beat==1.0.1
/etc/default/celeryd - (内部使用 celery 多启动 RRR SSS TTT STST OTS ...)
CELERYD_NODES="RRR SSS TTT STST OTS"
CELERYD_OPTS="-c 4 -Q:RRR r,e,h -Q:SSS s,p -Q:TTT d -Q:STST sd -Ofair --detach --time-limit=1500
CELERYD="/x/home/ks/wb/manage.py celeryd"
$ service celerd start
$ ps -ef | grep 芹菜
/etc/init.d/celeryd start
root 25636 25631 0 01:37 pts/4 00:00:00 /usr/bin/python /usr/local/bin/celery multi start RRR SSS TTT STST OTS -c 10 --uid=celery --gid=celery --workdir=/x/home/ks/wb --pidfile=/var/run/celery/%n.pid --logfile=/var/log/celery/%n.log --loglevel=DEBUG --cmd=/x/home/ks/wb/manage.py celeryd -Q:RRR r,e,h -Q:SSS s,p -Q:TTT d -Q:STST -Ofair --detach --time-limit=1500
celery 27440 25636 0 01:53 pts/4 00:00:01 [celeryd: STD@dt:MainProcess] -active- (--time-limit=1500 -c 4 --executable=/usr/bin/python --gid=celery --detach --logfile=/var/log/celer/STD.log -n STD@dt-ss-app-3040 --loglevel=DEBUG --uid=celery --pidfile=/var/run/celery/STD.pid --workdir=/x/home/ks/wb -Ofair -Q standard)
celery 27452 27440 1 01:53 pts/4 00:00:05 [celeryd: STD@dt:Worker-1]
celery 27453 27440 0 01:53 pts/4 00:00:01 [celeryd: STD@dt:Worker-2]
celery 27455 27440 0 01:53 pts/4 00:00:01 [celeryd: STD@dt:Worker-3]
只有一名工人 (STD) 开始工作。其他工人没有开始。
当我试图停止服务时
service celeryd stop
工人 STD 停止,另一个工人 RRR 开始。 这表示我的服务器在给定点只能运行一个工作人员。只有在运行 celeryd 停止 5 次(工人数量)后,服务才会停止
这种行为是否有特定原因?我是否必须设置任何变量才能使所有 5 个节点正常工作?
我想在同一台服务器上启动并运行所有节点。
【问题讨论】:
【参考方案1】:您现在使用的不是将 celery 与 django 一起使用的首选方式。请考虑遵循here 的步骤。另外,您应该尝试使用
查找工人的数量ps auxww | grep 'celery worker' | awk 'print $2'
【讨论】:
嗨 unixia,我使用旧版本的 celery 已经有一段时间了,升级它可能不是我现在的最佳途径。生病寻找使它在我现有的版本 3.1.23 中工作的东西。确保只有一名工人开始,因为花也只显示一名工人。以上是关于芹菜不启动多个工人的主要内容,如果未能解决你的问题,请参考以下文章