gpt4 book ai didi

python - 如何使用 Celery 制作包含所有待处理任务的仪表板?

转载 作者:太空狗 更新时间:2023-10-29 20:28:46 29 4
gpt4 key购买 nike

我想要一个可以查看所有未决任务的地方。

我不是在谈论注册的函数/类作为任务,而是我可以显示的实际计划作业:名称、task_id、eta、worker 等。

使用 Celery 2.0.2 和 djcelery,我在文档中找到了“inspect”。我试过:

from celery.task.control import inspect

def get_scheduled_tasks(nodes=None):

if nodes:
i = inspect(nodes)
else:
i = inspect()

scheduled_tasks = []
dump = i.scheduled()
if dump:
for worker, tasks in dump:
for task in tasks:
scheduled_task = {}
scheduled_task.update(task["request"])
del task["request"]
scheduled_task.update(task)
scheduled_task["worker"] = worker
scheduled_tasks.append(scheduled_task)

return scheduled_tasks

但它永远卡在 dump = i.scheduled() 上。

奇怪,否则一切正常。

使用 Ubuntu 10.04、django 1.0 和 virtualenv。

最佳答案

看看celerymon它运行一个显示所有计划任务的网络服务器。您必须使用 -E 标志运行 celery 以打开事件,这些事件会被放入您的队列并由 celerymon 守护进程拉走。

关于python - 如何使用 Celery 制作包含所有待处理任务的仪表板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357457/

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