簡體   English   中英

RabbitMQ 消費者停止接收消息

[英]RabbitMQ consumer stops receiving messages

我對 RabbitMQ 有一個嚴重的問題。 在收到一定數量的消息后,消費者只是停止接收消息。 他們仍然連接,但不再接收消息。 我找到了有關此問題的其他帖子,但沒有一個有效的答案。

這是我使用的連接包裝器: http://pastebin.com/XVY3HNGq 我使用stormed-amqp,它是python的異步amqp庫。

我嘗試過使用不帶 ack 或帶 ack 且 qos 預取計數為 100 的消息(如對此類問題的幾個響應所示)。

當我執行“rabbitmqctl list_queues name messages_ready messages_unacknowledged”時,我有很多准備好的消息和使用 ack 時未確認消息的“預取計數”(100)值。

我真的不知道發生了什么事。 謝謝您的回答。

在谷歌搜索這個問題時,我發現這個谷歌討論聽起來很像你的問題。

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

查看代碼,我看不出任何立即錯誤的地方。 將 no-ack 設置為 True 並將預取計數設置為 0 應該可以正常工作。 您確定您的應用程序沒有因為某些異常而崩潰嗎? 它凍結的那一刻有什么特別的嗎?

您可能還想嘗試在RabbitMQ 討論郵件列表上提問。 開發人員通常會回答所有提出的問題,其中一些人熟悉 Python AMQP 客戶端。

我敢打賭你正在使用 Ubuntu 或 Debian 並使用它們包含的舊版本 RabbitMQ。 我遇到了同樣的問題,當我從 rabbitmq.com 安裝 RabbitMQ 2.31 或更高版本時,它們都消失了。

只需對舊的 Ubuntu 和 Debian 包說不。

我遇到了同樣的問題(但 Java 消費者)並意識到原因是 rabbitmq 服務器已用完文件描述符(Ubuntu 默認為 1024)。 對於運行 rabbitmq 進程的用戶,嘗試在運行 rabbitmq 服務器的機器上增加 linux 中的打開文件限制。 此處描述了增加這些限制的方法: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM