RabbitMq Consumer不处理消息

Shi*_*ari 5 rabbitmq

我已经为 RabbitMQ 创建了一个消费者,作为用 C#.NET 编写的控制台应用程序。它被编程为永久监听队列,每当它在队列中找到消息时,就会处理它。消费者平均每秒处理 35 条消息。消费者被安排在任务调度程序中的系统启动时运行。消费者连续3-4天运行良好。但是,尽管队列中有消息,但它们仍然继续运行,但不处理任何消息。当消费者停止并再次启动时,它会再次开始正确处理消息。但是,当您手动重新启动时,数百万条消息已排队。有人可以帮我解释一下这种异常行为吗?我还有其他队列,这些队列已经连续运行了几个月,从未停止过。

要求及时答复。先谢谢各位专家了。

ErA*_*ube 3

我建议您查看消费者代码,它可能正在运行但陷入 RabbitMQ 异常。听起来很奇怪,它可以正常运行 3-4 天。

我遇到了类似的问题,即消费者不消费队列中的消息,因为我使用“RabbitMQ.Client.QueueingBasicConsumer”使消息出队,并且当队列突然关闭时,尽管消费者正在运行,但它处于 System.IO.EndOfStreamException 中。我正在使用“RabbitMQ.Client.Events.EventingBasicConsumer”,它帮助我解决了这个问题。

  • @ShikharMaheshwari 万一您没有找到它或其他人需要它。var Consumer = new EventingBasicConsumer(通道); Consumer.Received += (model, ea) => { //获取消息并执行工作 var body = ea.Body; var bodyStr = Encoding.UTF8.GetString(body); }; (2认同)