首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >和弦超时

和弦超时
EN

Stack Overflow用户
提问于 2015-08-12 04:40:18
回答 1查看 883关注 0票数 4

使用芹菜,我构建了一个和弦:

代码语言:javascript
复制
from celery import chord
chord(task1, chord(task2, task3))

但是,它通常会引发超时:

代码语言:javascript
复制
Chord '0f3dd024-8fe3-4b1b-ab9b-6081569c9738' raised:  
"TimeoutError('Operation timed out (3.0)',)"  
    Traceback (most recent call last):  
    File "python2.7/site-packages/celery/backends/base.py", line 568, in on_chord_part_return   
    StopIteration  
    culprit = next(deps._failed_join_report())

有没有办法修改超时设置以支持这种芹菜设计?

请注意,每个任务中都有子任务,因此链似乎不能确保在开始下一个任务之前所有子任务都已完成。

另一个限制是,我不能调用get()在两个步骤中完成此操作,因为这些和弦已经在任务中构建。

EN

回答 1

Stack Overflow用户

发布于 2016-12-19 16:36:35

chord完成函数还将在其部分/全部组任务已设置的情况下引发TimeoutError异常: ignore_result=True

当完成函数触发时,它找不到已完成的组任务的任何结果,因此它假设由于超时,这些任务已从结果后端清除。

如果不看你的代码,就很难判断是不是这样。无论如何,请确保您不会忽略组任务的结果。

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

https://stackoverflow.com/questions/31951533

复制
相关文章

相似问题

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