在芹菜中如何获取特定任务名称的所有任务的任务状态?

Hit*_*try 6 python celery celery-task celeryd

celery中,我想获取特定任务名称的所有任务的任务状态.对于尝试下面的代码.

import celery.events.state

# Celery status instance.
stat = celery.events.state.State()

# task_by_type will return list of tasks.
query = stat.tasks_by_type("my_task_name")

# Print tasks.
print query
Run Code Online (Sandbox Code Playgroud)

现在我在这段代码中得到空列表.

Nin*_*ker 1

本机不支持此功能。根据后端(Mongo、Redis 等),您可能能够也可能无法内省队列的内容并找出其中的内容。即使这样做,您也会错过当前正在进行的项目。

也就是说,您可以自己管理:

result = mytask.delay(...)
my_datastore.save("mytask", result.id)
...
for id in my_datastore.find(task="mytask"):
    res = AsyncResult(id)
    print res.state
Run Code Online (Sandbox Code Playgroud)