gpt4 book ai didi

python - 获取 celery AsyncResult 的任务名称

转载 作者:太空宇宙 更新时间:2023-11-04 06:44:32 25 4
gpt4 key购买 nike

我正在使用 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 与任务名称匹配。但我不确定是否可行。

谢谢。

最佳答案

不是最好的解决方案,但它有效。

result = signature.apply_async()
result._cache['task_name']
#'procedures.tasks.stop'

关于python - 获取 celery AsyncResult 的任务名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859539/

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