加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python – 和弦超时

发布时间:2020-12-20 13:06:42 所属栏目:Python 来源:网络整理
导读:使用芹菜,我构造了一个和弦: from celery import chordchord(task1,chord(task2,task3)) 但是,它经常会引发超时: Chord '0f3dd024-8fe3-4b1b-ab9b-6081569c9738' raised: "TimeoutError('Operation timed out (3.0)',)" Traceback (most recent call last)
使用芹菜,我构造了一个和弦:

from celery import chord
chord(task1,chord(task2,task3))

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

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()来执行此操作,因为这些和弦已经在任务中构建.

解决方法

如果部分/全部组任务已设置,则和弦完成功能也会引发TimeoutError异常:ignore_result = True

当完成功能触发时,它无法找到已完成的组任务的任何结果,因此它假定它们已由于超时而从结果后端清除.

如果是这种情况,很难说没有看到你的代码.无论如何,请确保不要忽略组任务的结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读