监控有或没有花的芹菜队列待处理任务

monitor celery queue pending tasks with or without flower

我正在尝试监控 celery 队列,这样如果队列中没有任务增加,我可以选择产生更多的工人。

使用或不使用 Flower(芹菜监控工具)如何做到这一点

例如:我可以像这样得到所有工人的列表

curl -X GET http://localhost:5555/api/workers

{
    "celery@ip-172-0-0-1": {
        "status": true,
        "queues": [
            "tasks"
        ],
        "running_tasks": 0,
        "completed_tasks": 0,
        "concurrency": 1
    },
    "celery@ip-172-0-0-2": {
        "status": true,
        "queues": [
            "tasks"
        ],
        "running_tasks": 0,
        "completed_tasks": 5,
        "concurrency": 1
    },
    "celery@ip-172-0-0-3": {
        "status": true,
        "queues": [
            "tasks"
        ],
        "running_tasks": 0,
        "completed_tasks": 5,
        "concurrency": 1
    }
}

同样,我需要一个按队列名称挂起的任务列表,这样我就可以在该队列上启动一个工作程序。

感谢您没有对这个问题投反对票。

预留任务在这里没有意义。它只包括收到的部分,而不包括 运行 部分。

我们可以使用 rabbitmq-management to monitor the queue if using RabbitMQ as broker. celery document 也提供一些方法来做同样的事情。