我有两名工人在跑:
celery -A project worker -Q OneAtTimeQueue -c1 -l Info
celery -A project worker -B -l info
第一个是让任务一次执行一个任务。这就是为什么它具有一个并发性。
第二个是针对其他任务,这些任务不需要是一个时间而且是周期性任务的节拍。
当我使用时:
celery -A project status
仅显示:
celery@project: OK
1 node online.
我如何检查两名工人是否在线?
答案 0 :(得分:1)
Celery Workers Guide建议在单个主机上运行多个worker时使用唯一名称。尝试添加-n
参数,然后运行状态:
celery -A project worker -Q OneAtTimeQueue -c1 -l Info -n worker1
celery -A project worker -B -l info -n worker2
celery -A project status
答案 1 :(得分:1)
首先,要在不指定-n
的名称的情况下启动工作线节点,您很可能会收到DuplicateNodenameWarning
这样的警告:
/usr/local/lib/python3.4/site-packages/celery/app/control.py:36:DuplicateNodenameWarning:收到节点名称的多个回复:celery @ hostname。
其次,您可以使用Celery Remote Command Ping检查所有在线工作人员(因为他们将使用pong
进行响应),Ping命令将向所有Celery工作节点广播ping并仅报告活动的工作节点,IE
$ celery -A project inspect ping
celery@hostname: OK
pong
celery@hostname: OK
pong
/usr/local/lib/python3.4/site-packages/celery/app/control.py:36: DuplicateNodenameWarning: Received multiple replies from node name: celery@hostname.
Please make sure you give each node a unique nodename using the `-n` option.
pluralize(len(dupes), 'name'), ', '.join(sorted(dupes)),
答案 2 :(得分:0)
嗯,我认为最好是使用:
html {
margin: 0;
padding: 0;
}
body {
display: block;
position: relative;
box-sizing: border-box;
margin: 1em 0;
padding: 0;
width: 100%;
height: 60px;
border-top: 1px solid gray;
border-bottom: 1px solid gray;
background: #fff;
}
body:before {
content: 'Testing this title';
display: block;
position: absolute;
top: -1px;
right: 25%;
bottom: -1px;
left: 25%;
box-sizing: border-box;
font: bold 16px/60px Arial, sans-serif;
text-align: center;
background: #ccc;
}
然后我可以看到两个进程是否都在运行。