rabbitmq-channel断网后没有断开情况记录

现象

队列中一直有unacked数据

复现

监听队列,使用不自动应答模式,拿到消息不应答,断开网络,关闭进程
rabbitmq中channel一直存在,state为idle状态
只能强制手动关闭连接

疑问

  • rabbitmq对于tcp连接断开的心跳时间?
    • 默认30分钟,根据rabbitmq.conf中consumer_timeout确定
  • 如何处理网络异常断开的unacked消息?
    • 等待连接超时,或强制断开channel

解答

来源:Consumers — RabbitMQ

If a consumer does not ack its delivery for more than the timeout value (30 minutes by default), its channel will be closed with a PRECONDITION_FAILED channel exception. The error will be logged by the node that the consumer was connected to.
The timeout value is configurable in [rabbitmq.conf] (in milliseconds):

# 30 minutes in milliseconds
consumer_timeout = 1800000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值