监控有或没有花的芹菜队列待处理任务
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 也提供一些方法来做同样的事情。
我正在尝试监控 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 也提供一些方法来做同样的事情。