我创建了一个任务
@app.task(bind=True, max_retries=1)
def notify_feedback(self, req_id):
#some things
我从我的角度调用此任务的时间为1小时,例如
later = datetime.datetime.utcnow() + datetime.timedelta(hours=1)
notify_feedback.apply_async((req_id,), eta=later)
当我检查飞行中的SQS消息时,它有1个待处理计数
一小时后,此notify_feedback
被多次呼叫。有人遇到过这种芹菜问题吗?
芹菜-使用4.1.0
答案 0 :(得分:1)
我也遇到了这样的问题,但是我将任务延迟了超过1个小时。
当我在settings.py中设置此项时,我解决了我的问题。
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 86400}
可见性超时定义了在将消息重新传递给另一个工作人员之前等待工作人员确认任务的秒数。
更多详细信息there。