celery apply_async被多次呼叫

问题描述 投票:0回答:1

我从我看来以1小时的延迟来调用此任务。

later = datetime.datetime.utcnow() + datetime.timedelta(hours=1) notify_feedback.apply_async((req_id,), eta=later)
当我检查飞行中的SQS消息时,它有1个计数未决
一小时后,这个

notify_feedback

被多次打电话。有人遇到过芹菜的问题吗?
使用celery- 4.1.0
    

我也面临着这个问题,但是我已经延迟任务超过了1小时。

当我在设置中设置此问题时,我解决了我的问题。

BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 86400}

python django celery amazon-sqs
1个回答
2
投票
可见性超时定义了等待工人在将消息重新发送给另一个工人之前确认任务的秒数。

更多详细信息

我有这个问题,仅用于延迟1小时以上的任务,我无法解决问题,然后使用了带有crontab时间表的perectictask对象,这解决了我多次触发任务的问题:

django-celery-beat

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.