我正在尝试使用celery设置服务器以在Ubuntu上运行多个worker。使用通用脚本设置守护程序并使用rabbit-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 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个节点都正常工作?
我希望在同一台服务器上启动并运行所有节点。
答案 0 :(得分:0)
你正在使用的不是现在使用django的芹菜的首选方法。请考虑执行here步骤。此外,您应该尝试使用
查找工人数量 ps auxww | grep 'celery worker' | awk '{print $2}'