2015-10-16 30 views
1

网上我有两个工人正在运行:检查我所有的工人都在芹菜

  1. celery -A project worker -Q OneAtTimeQueue -c1 -l Info

  2. celery -A project worker -B -l info

第一个是用于制作在执行一个任务一次。这就是为什么它具有并发性。

而第二个是其他任务不需要在一个时间,它是周期性任务的节拍。

当我使用:

celery -A project status 

那只能说明:

[email protected]: OK 

1 node online. 

如何检查如果两个工人在网上?

回答

0

嗯,我认为最好的方法是使用:

ps aux | grep celery

然后,我可以看到,如果这两个进程正在运行。

+0

这只会显示与您运行机器相关的信息。芹菜的一个常见场景是让工作人员在远程节点上运行。 –

0

Celery Workers Guide建议在单个主机上运行多个工作人员时使用唯一名称。尝试添加-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 
0

首先,旋转起来工作节点而不-n指定名称,你将最有可能得到一个DuplicateNodenameWarning警告这样的:

的/ usr /local/lib/python3.4/site-packages/celery/app/control.py:36:DuplicateNodenameWarning:从节点名称:celery @ hostname收到多个回复。

其次,你可以使用芹菜远程命令ping命令检查所有线上的工人(他们将与pong响应),Ping命令将播出的ping所有的芹菜工人节点,并报告只有活跃的,即

$ celery -A project inspect ping 
[email protected]: OK 
     pong 
[email protected]: OK 
     pong 
/usr/local/lib/python3.4/site-packages/celery/app/control.py:36: DuplicateNodenameWarning: Received multiple replies from node name: [email protected] 
Please make sure you give each node a unique nodename using the `-n` option. 
    pluralize(len(dupes), 'name'), ', '.join(sorted(dupes)), 
+0

Devy,我也收到'duplicatenodename'警告。你能否阐明这是否会在任务执行中产生任何错误?或者是可以忽略的东西? –

+0

@HassanBaig DuplicateNodenameWarning是一个警告,不是致命的错误,所以工作人员仍然会运行。不过,我宁愿修复它们。基本上,使用'-n'指定节点名称,以便它们不会全部默认为相同名称,就像错误消息中所述。 – Devy

+0

嗯,我正在使用主管处理芹菜工人。我在我的celery.conf文件中定义了'process_name =%(program_name)s _%(process_num)02d'和'numprocs = 5'。根据'supervisorctl',流程确实有独立的名称。但它们是否都在同一个芹菜“节点”下,它是什么? –