芹菜+红烧+烧瓶如何获得等待芹菜执行的作业数量



我用 docker 运行 Celery + redis + flask,我想知道有多少任务等待 Celery 执行。我试图使用命令在 redis 中查找信息

keys *

我得到结果:

127.0.0.1:6379> keys *
1) "unacked_mutex"
2) "_kombu.binding.celeryev"
3) "unacked_index"
4) "_kombu.binding.celery.pidbox"
5) "_kombu.binding.celery"
6) "unacked"

这些项目似乎都不包含芹菜队列信息。如何读取芹菜队列大小?

这是芹菜代码:

from celery import Celery
import time
app = Celery('tasks', broker='redis://redis:6379')
@app.task
def sleeptest():
time.sleep(100)

这就是我提交芹菜作业的方式:

import tasks
import time
tasks.sleeptest.delay()
time.sleep(1)
tasks.sleeptest.delay()
time.sleep(1)
tasks.sleeptest.delay()
time.sleep(1)
tasks.sleeptest.delay()
time.sleep(1)
tasks.sleeptest.delay()
time.sleep(1)

当我发布 100 个任务时,会出现芹菜队列。但是当我只发布 5 个任务时,芹菜队列不会显示,即使我将并发设置为 1 和 4 个任务实际上正在等待。

这些信息深埋在 Celery 文档中 - 监控 redis 队列。如果您什么也没看到,则表示任务已完成、正在运行或已保留(查找有关worker_prefetch_multiplier的详细信息(。

相关内容

  • 没有找到相关文章

最新更新