如何增加交付确认超时rabbitMQ版本为3.10.1
rabbitMQ配置
rabbitmq:
hostname: 'prod-rabbitmq'
image: "rabbitmq:3.10.1-management-alpine"
container_name: puppeteer-script-rabbitmq
restart: always
volumes:
- ./data/rabbitmq:/var/lib/rabbitmq
- ./data/rabbitmq:/var/log/rabbitmq
- ./data/rabbitmq:/var/lib/rabbitmq/mnesia
ports:
- "5672:5672"
- "15672:15672"
操作none导致通道异常precondition_failed:通道1上的传递确认超时。使用的超时值:1800000 ms。可以配置此超时值,请参阅消费者文档指南了解更多信息
2条答案
按热度按时间snz8szmq1#
此功能在RabbitMQ版本3.8.14左右实现。默认设置为1800000毫秒(30分钟)。
当达到这个超时时间时,RabbitMQ关闭使用者通道并将消息返回到源队列。消息将被重复地重新传递给使用者,直到得到确认。
您可以在此处阅读有关如何更改RabbitMQ配置和consumer_timeout的更多信息:
https://www.rabbitmq.com/consumers.html#acknowledgement-timeout
wlzqhblo2#
你可以使用
rabbitmq.conf
文件设置发送确认。这不是自己创建的。对于ubuntu来说,它位于/etc/rabbitmq/
中,在这个文件中设置consumer_timeout=5000
。我已经设置了5秒。你可以选择任何值,然后重新启动rabbitmq
节点。它会工作。