我正在尝试设置一个服务器来使用芹菜在Ubuntu上运行多个工作人员。使用通用脚本并使用兔子-mq作为代理来设置守护进程。
celery==3.1.23
django-celery==3.1.17
django-celery-beat==1.0.1/etc/default/celeryd -(内部使用芹菜多启动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快速启动
$ 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个节点工作?
我想让所有的节点都在同一台服务器上运行。
发布于 2018-01-31 13:24:29
你现在使用的不是用芹菜和django搭配的首选方法。请考虑遵循步骤这里。此外,您还应该尝试查找使用
ps auxww | grep 'celery worker' | awk '{print $2}'
https://stackoverflow.com/questions/48542925
复制相似问题