RabbitMQ 可以强制消费者执行确认超时: https://www.rabbitmq.com/consumers.html#acknowledgement-modes 默认情况下,如果任务在15分钟内未被确认,则整个节点将出现PreconditionFailed
错误。
我需要安排一个celery任务(使用RabbitMQ作为代理),延迟时间较长(1-3小时),但是目前(使用celery 4和rabbitmq 3.8)当我尝试这样做时...在消费者确认超时配置为我的RMQ之后,我会收到PreconditionFailed
错误。
是否有一种方法可以配置 ETA celery 任务在消费者确认超时之前被确认?
目前,我将consumer_timeout
增加到大于我的ETA时间差,但肯定有更好的解决方案...
rabbitmq.config
中设置{consumer_timeout, false}
。 - jrhodinrabbitmq.config
和经典格式,则可以这样做。* /etc/rabbitmq/rabbitmq.config```
- jrhodin