我正在尝试设置一个服务器,以使用芹菜在 Ubuntu 上运行多个工作线程。使用泛型脚本并使用 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 celery
/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 启动。这意味着我的服务器在给定点只能运行一个工作线程。只有在运行芹菜停止 5 次(工人数(后,服务才会下降
这种行为有特定的原因吗? 我是否必须设置任何变量才能使所有 5 个节点工作?
我想让所有节点在同一台服务器上启动并运行。
你现在使用的不是将芹菜与 django 一起使用的首选方式。请考虑按照此处的步骤操作。此外,您应该尝试查找具有以下特征的工人数量
ps auxww | grep 'celery worker' | awk '{print $2}'