Python 检查我所有的员工是否都在芹菜网上
我有两名员工在运行:Python 检查我所有的员工是否都在芹菜网上,python,django,asynchronous,celery,Python,Django,Asynchronous,Celery,我有两名员工在运行: 芹菜-项目工人-Q OneAtTimeQueue-c1-l信息 芹菜-A项目工人-B-l信息 第一个是让任务一次执行一个任务。这就是为什么它有一个并发性 第二个是其他任务,不需要一次一个,这是周期性任务的节拍 当我使用: celery -A project status 它只显示: celery@project: OK 1 node online. 如何检查这两名员工是否在线?好吧,我认为最好使用: ps aux| grep芹菜 然后我可以查看两个进程是否都在运行。建
芹菜-项目工人-Q OneAtTimeQueue-c1-l信息
芹菜-A项目工人-B-l信息
celery -A project status
它只显示:
celery@project: OK
1 node online.
如何检查这两名员工是否在线?好吧,我认为最好使用:
ps aux| grep芹菜
然后我可以查看两个进程是否都在运行。建议在一台主机上运行多个辅助进程时使用唯一的名称。尝试添加-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
首先,若要在不使用
-n
指定名称的情况下加速工作节点,您很可能会收到如下DuplicateNodeWarning
警告:
/usr/local/lib/python3.4/site packages/芹菜/app/control.py:36:DuplicateNodeName警告:收到来自节点名称的多个答复:celery@hostname.
其次,您可以使用芹菜远程命令Ping检查所有在线工作者(因为他们将用pong
响应),Ping命令将向所有芹菜工作者节点广播Ping并仅报告活动节点,即
$ 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)),
这将只显示与运行它的机器相关的信息。芹菜的一个常见场景是在远程节点上运行worker。Devy,我也收到了
duplicatenodename
警告。您能否说明这是否会在任务执行中产生任何错误?还是可以忽略?@HassanBaig DuplicateNodeWarning是一个警告,而不是致命的错误,因此工作人员将仍然运行。但是,我更愿意修复它们。基本上,使用-n
来指定节点名称,这样它们就不会默认为相同的名称,正如错误消息中指出的那样。嗯,我正在使用supervisor来处理芹菜工人。我已经在我的芹菜.conf文件中定义了process\u name=%(program\u name)s\u%(process\u num)02d
和numprocs=5
。根据supervisorctl
,进程确实有单独的名称。但它们都在同一个芹菜“节点”下,是这样吗?