RabbitMQ使用者停止接收消息

时间:2011-07-18 12:34:59

标签: python rabbitmq amqp

RabbitMQ存在严重问题。收到一定数量的消息后,消费者只是停止接收消息。它们仍然连接但不再接收消息。我找到了关于这个问题的其他帖子,但没有一个有可靠的答案。

这是我使用的连接包装器:http://pastebin.com/XVY3HNGq。 我使用stormed-amqp,它是python的异步amqp库。

我尝试过没有ack或ack以及qos预取计数为100的消息(正如对这类问题的几个回应所示)。

当我执行“rabbitmqctl list_queues name messages_ready messages_unacknowledged”时,我有很多准备好的消息以及使用确认时unacknoledged消息的“预取计数”(100)值。

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

4 个答案:

答案 0 :(得分:1)

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

https://groups.google.com/forum/#!topic/rabbitmq-discuss/DyJvFDnaVJ4

答案 1 :(得分:0)

查看代码,我看不出任何错误。将no-ack设置为True并将预取计数设置为0应该可以正常工作。你确定你的应用程序没有崩溃,因为有一些例外吗?它冻结的那一刻有什么特别之处吗?

您可能还想尝试询问RabbitMQ Discuss邮件列表。开发人员通常会回答所有问题,其中一些人熟悉Python AMQP客户端。

答案 2 :(得分:0)

我敢打赌你正在使用Ubuntu或Debian并使用它们包含的旧版RabbitMQ。我遇到了同样的问题,当我从rabbitmq.com安装RabbitMQ 2.31或更高版本时,它们都消失了。

对旧的Ubuntu和Debian软件包说不。

答案 3 :(得分:0)

我遇到了同样的问题(但是对于Java用户)并且意识到原因是rabbitmq服务器已用完文件描述符(默认情况下Ubuntu有1024)。 对于运行rabbitmq进程的用户,尝试在运行rabbitmq服务器的计算机上增加linux中的打开文件限制。这里描述了增加这些限制的方法:http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

干杯

相关问题