[英]How can I make a dashboard with all pending tasks using Celery?
我想有一些地方可以看到所有的掛件任務。
我不是說注冊的函數/類作為任務,而是我可以顯示的實際預定作業:name,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 ,它運行一個顯示所有計划任務的Web服務器。 您必須使用-E標志運行celery以打開事件,這些事件將被放入隊列並被celerymon守護程序拉出。
嘗試Flower - 芹菜監測工具。
這提供了非常有用的儀表板來監視排隊的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.