【问题标题】:Check if all my workers are online in celery检查我的所有工人是否都在 celery 中在线
【发布时间】:2016-01-15 10:41:00
【问题描述】:

我有两个工人在运行:

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

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

第一个用于使任务一次执行一个。这就是为什么它有一个并发。

第二个是用于其他任务,不需要每次都是一个,它是周期性任务的节拍。

当我使用时:

celery -A project status

它只显示:

celery@project: OK

1 node online.

如何查看两个worker是否在线?

【问题讨论】:

    标签: python django asynchronous celery


    【解决方案1】:

    首先,要启动工作节点而不用 -n 指定名称,您很可能会收到类似这样的 DuplicateNodenameWarning 警告:

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

    其次,您可以使用 Celery 远程命令 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)),
    

    【讨论】:

    • Devy,我也收到了duplicatenodename 警告。您能否阐明这是否会在任务执行中产生任何错误?还是可以忽略不计?
    • @HassanBaig DuplicateNodenameWarning 是警告而不是致命错误,因此工作人员将继续运行。但是,我更愿意修复它们。基本上,使用-n 来指定节点名称,这样它们就不会全部默认为相同的名称,正如错误消息中所指出的那样。
    • 嗯,我正在使用主管来处理芹菜工人。我在 celery.conf 文件中定义了process_name=%(program_name)s_%(process_num)02dnumprocs=5。根据supervisorctl,进程确实有不同的名称。但是它们都在同一个芹菜“节点”下吗?是这样的吗?
    【解决方案2】:

    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
    

    【讨论】:

      【解决方案3】:

      嗯,我认为最好是使用:

      ps aux | grep celery

      然后我可以查看两个进程是否都在运行。

      【讨论】:

      • 这只会显示与您运行它的机器相关的信息。 celery 的一个常见场景是让工作人员在远程节点上运行。
      猜你喜欢
      • 2021-12-24
      • 2011-11-20
      • 2021-01-07
      • 2016-08-24
      • 2020-09-19
      • 2023-01-31
      • 2021-06-26
      • 2020-12-27
      • 2018-06-19
      相关资源
      最近更新 更多