2016-01-27 216 views
0

我已經爲RabbitMQ作爲使用C#.NET編寫的控制檯應用程序的使用者。它被編程爲永久地監聽一個隊列,並且每當它在隊列中找到一條消息時,它就會處理它。消費者平均每秒處理35條消息。用戶計劃在系統啓動時在任務計劃程序中運行。消費者運行良好3-4天。但是,它們繼續運行,但不處理任何消息,儘管隊列中有消息。當用戶停止並再次啓動時,它會再次開始正確處理消息。但是,到手動重新啓動時,數百萬條消息會排隊。有人可以幫助我解釋這種不正常的行爲。我還有其他的隊列,這些隊列在幾個月後一直在不停地運行。RabbitMq消費者未處理消息

請求快速響應。在此先感謝專家。

回答

1

我建議你看看消費者代碼,它可能正在運行但陷入RabbitMQ異常。聽起來很奇怪,它運行良好3-4天。

我有類似的問題消費者沒有消費隊列中的消息,因爲我正在使用「RabbitMQ.Client.QueueingBasicConsumer」消除隊列消息,並且當隊列突然關閉時消費者正在運行,但它在System.IO中。 EndOfStreamException。我正在使用「RabbitMQ.Client.Events.EventingBasicConsumer」,它幫助我解決了這個問題。

+0

我正在使用RabbitMQ.Client.Events.QueueingBasicConsumer去出隊消息。因此,可能我面臨同樣的問題。你可以給你關於如何使用RabbitMQ.Client.Events.EventingBasicConsumer出隊消息的示例代碼。 –