【问题标题】:Check status of Celery worker检查芹菜工人的状态
【发布时间】:2016-04-12 19:21:03
【问题描述】:

我有一个使用 Celery 的项目。我会定期遇到这样一种情况,即我的请求正在发送给 Celery,但任务并未移交给工作人员,而是服务器仅返回 500 错误。

当我重新启动 Celery 时,它又开始工作了。我只是猜测工人正在挂起,这使得它不再有工人可用。如果我启动另一批工人,请求会再次开始工作(这支持了我的理论)。

问题:

  1. 我理解 celery 默认记录到 stderr。我没有看到任何错误,所以我希望某处还有另一个芹菜日志。那会在哪里?
  2. 有没有办法查询工人的状态?它们可用吗?他们被吊死了吗?
  3. 还有别的吗?

【问题讨论】:

    标签: celery


    【解决方案1】:

    要快速了解工作人员的状态,您可以运行以下命令:

    celery -A project inspect stats
    

    它将输出一个 JSON 数组,其中包含有关您的工人的大量统计信息。

    更多详情请见docs

    【讨论】:

      【解决方案2】:

      您可以使用花 API 或使用以下方式直接查询 celery 来查看活跃的工人:

      from celery import Celery
      app = Celery('vwadaptor',
                   broker='redis://workerdb:6379/0',
                   backend='redis://workerdb:6379/0')
      
      app.control.inspect().active()
      

      向您显示活跃工作人员及其当前正在执行的工作。

      【讨论】:

        【解决方案3】:

        你可以安装花:

        pip install flower
        

        它有一个API,可用于询问工作人员的状态和在其上运行的任务。

        【讨论】:

          【解决方案4】:

          默认情况下,我理解 celery 会记录到 stderr。我没有看到任何错误,所以我希望某处还有另一个芹菜日志。那会在哪里?

          Celery 记录器将写入您使用--logfile=/path/to/file.log 指定的文件。如果你没有指定它,它会像你说的那样进入stderr。

          有没有办法查询工人的状态?它们可用吗?他们被吊死了吗?

          是的,Celery 文档的Monitoring and Management Guide 涵盖了所有内容。

          celery -A yourproject.app inspect status 将提供您的工人的状态。 celery -A yourproject.app inspect active 将为您提供当前正在运行的任务列表等。

          还有别的吗?

          Celery 不返回任何 500 错误。你指的是什么?也许是芹菜花? - Celery 不是 Web 服务器...所以很有可能您的 Celery 集群工作正常,但您对 Celery Flower 或其他一些 Web 服务器出现故障感到困惑。

          【讨论】:

            【解决方案5】:

            在终端中运行此命令

            celery -A yourproject.app  status
            

            更多命令

            celery -A yourproject.app --help
            

            【讨论】:

              猜你喜欢
              • 2021-07-24
              • 1970-01-01
              • 2019-06-19
              • 2014-08-17
              • 1970-01-01
              • 2020-12-20
              • 2022-01-08
              • 2014-06-09
              • 2019-03-13
              相关资源
              最近更新 更多