gpt4 book ai didi

flask - celery + Redis + Flask如何获得待通过 celery 执行的工作量

转载 作者:行者123 更新时间:2023-12-03 06:45:57 26 4
gpt4 key购买 nike

我使用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"

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

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

这是我提交 celery 工作的方式:
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个任务时,将出现 celery 队列。但是,当我仅发布5个任务时,即使我将并发设置为1且实际上正在等待4个任务,celery队列也不会显示。

最佳答案

该信息被深埋在Celery文档monitoring redis queues中。如果未看到任何内容,则意味着任务已完成,正在运行或已被保留(查找有关worker_prefetch_multiplier的详细信息)。

关于flask - celery + Redis + Flask如何获得待通过 celery 执行的工作量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59386049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com