rabbitmq消费bug,一直在消费,没有成功的。程序重启又正常消费。

rabbitmq消费bug,一直在消费,没有成功的。程序重启又正常消费。

因为消费报错,然后接着消费报错的消息,形成死循环。

我的案例:
当生产的channel断开了,就没有能成功的消费了。
问题清楚了,并发消费,一个协程报错,消息并未回到队尾,而是由另外的协程接手,而此消息因为会生产子消息,而生产channel断开,导致报错,所以这几个消息成了死循环,一致再消费。
pika.exceptions.ChannelWrongStateError: Channel is closed.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和引用,消费方出现不能消费消息的情况可能是由于消费者没有正确应答导致的。在目前的exchange的路由策略中,消费者使用ACK自动应答模式处理队列消息。因此,如果消费者没有正确应答消息,即使消息被发送到队列中,消费者也无法接收和处理消息。 解决这个问题的方法是确保消费者正确应答消息。根据引用中的描述,如果需要新增一个队列服务,需要进行以下开发步骤: 1. 创建队列并发送消息。 2. 确保消费者在接收到消息后,正确应答消息。这可以通过在消费者逻辑中添加ACK应答的代码来实现。消费者在处理完消息后,调用ACK方法来告知RabbitMQ已经成功处理了消息。 通过正确的应答消息,消费者将能够从队列中接收和处理消息,解决消费者没有应答的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [解决一次rabbitmq消费者消费不了消息的情况](https://blog.csdn.net/m0_67401270/article/details/124129647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python队列RabbitMQ 使用方法实例记录](https://download.csdn.net/download/weixin_38612139/13988293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值