首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Celery Worker中访问Celery Group任务结果

在Celery Worker中访问Celery Group任务结果
EN

Stack Overflow用户
提问于 2020-12-17 21:58:31
回答 1查看 90关注 0票数 1

我必须产生某些任务,并让它们并行执行。然而,我也需要他们的所有这些结果集中更新。

有没有可能以某种方式访问父任务中所有这些任务的结果?我知道我不能从任务中调用task_result.get(),因为芹菜不允许这样做,有没有其他方法可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2020-12-18 15:16:37

您可以让Celery等待子任务的结果(请参阅get()disable_sync_subtasks参数),但不建议这样做,因为您可能会死锁worker (有关详细信息,请参阅here )。所以如果你使用它,你应该知道你在做什么。

对于您的用例,推荐的方法是使用chord

和弦就像一个组,但有一个回调。chord由header组和body组成,其中body是应该在header中的所有任务完成后执行的任务。

这确实需要您对逻辑进行一点重构,这样就不需要父任务中的子任务结果,而是在chord的正文中处理它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65342163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档