【发布时间】:2017-01-25 19:00:58
【问题描述】:
我正在使用 celery 来执行我的异步任务,我想要实现的是在我执行之后获取工作流程中每个任务的名称和 ID。
exec_workflow = chain(
task1.si(),
task2.si(),
task3.si()
)
result = exec_workflow.apply_async()
tasks = []
for t in result._parents():
tasks.append({"id": t.id, "name": t.name})
但由于某种奇怪的原因,AsyncResult 似乎没有 name 属性。知道什么是合适的方法吗?
对此的不同方法可能是在我执行 apply_async 之前在每个任务上强制一个 id,这将解决我的问题,因为我将能够将 id 与任务名称匹配。但我不确定它是否可能。
谢谢。
【问题讨论】: