Python RabbitMQ使用者停止接收消息

Python RabbitMQ使用者停止接收消息,python,rabbitmq,amqp,Python,Rabbitmq,Amqp,我对兔子有严重的问题。在收到一定数量的消息后,消费者只需停止接收消息。他们仍然保持连接,但不再接收消息。我已经找到了关于这个问题的其他帖子,但是没有一个有有效的答案 这是我使用的连接包装器:。 我使用stormed amqp,它是python的异步amqp库 我尝试过在没有ack或ack且qos预取计数为100的情况下使用消息(如对此类问题的几次响应所示) 当我执行“rabbitmqctl list\u queues name messages\u ready messages\u unackn

我对兔子有严重的问题。在收到一定数量的消息后,消费者只需停止接收消息。他们仍然保持连接,但不再接收消息。我已经找到了关于这个问题的其他帖子,但是没有一个有有效的答案

这是我使用的连接包装器:。 我使用stormed amqp,它是python的异步amqp库

我尝试过在没有ack或ack且qos预取计数为100的情况下使用消息(如对此类问题的几次响应所示)

当我执行“rabbitmqctl list\u queues name messages\u ready messages\u unacknowledged”时,我有很多就绪消息和使用ack时unacknolledged message的“prefetch count”(100)值

我真的不知道发生了什么事!
谢谢您的回答。

查看代码,我看不出有什么立即出错的地方。将no ack设置为True并将预回迁计数设置为0应该可以正常工作。你确定你的应用程序没有因为某些异常而崩溃吗?它结冰的那一刻有什么特别的吗


您也可以尝试在邮件列表中询问。开发人员通常会回答所有问题,其中一些人熟悉Python AMQP客户机。

我敢打赌,您使用的是Ubuntu或Debian,并且使用的是RabbitMQ的旧版本。我也有同样的问题,当我从RabbitMQ.com安装RabbitMQ 2.31或更高版本时,这些问题都消失了


只要对旧的Ubuntu和Debian软件包说不就行了。

我也遇到了同样的问题(但是Java用户),并意识到原因是rabbitmq服务器的文件描述符用完了(Ubuntu默认有1024个)。 对于运行rabbitmq进程的用户,尝试在运行rabbitmq服务器的计算机上增加linux中的打开文件限制。增加这些限制的方法如下所述:


干杯

在谷歌上搜索这个问题时,我发现这个谷歌讨论听起来很像你的问题


您找到解决问题的方法了吗?您找到解决问题的方法了吗?这个话题已经很老了:经过一些研究,我们发现在用户端有很多TCP ZeroWindow发送到rabbitmq。不知何故,TCP缓冲区已满,使用者将告诉rabbitmq我们无法处理任何其他消息。我们仍在寻找解决方案,但至少我们知道应该把问题放在哪里。