查看rabbitmq unacked消息

我们有一个rabbitmq集群,接收来自一个应用程序的消息,然后由第二个应用程序拾取。 我们遇到了一个问题,就是我们的队列中有大量的“未经核实的”信息。 我们有三台服务器运行第二个应用程序,并且已经重新启动了所有这些服务器,但是没有收到未发送的消息。 我们收到一个错误,看起来像我们的代码(我们正在单独研究)的问题。

在做了一些研究之后,我们已经意识到这些消息可能已经被发送,但是没有被正确确认。 我们想知道是否有办法查看类似于就绪队列中的消息,这样我们可以进一步调查。

我们发现了一些帮助我们的事情。

首先,我们创build了一个catchall队列来收集所有事件,并将它们保存在就绪队列中,以便我们能够弄清楚发生了什么事情。 原来一个制作人发送了无效的信息。 我们closures了这个生产者,并观察到所有新的消息看起来不错,正在处理。

其次,我们在短时间内closures所有消费者(环境良好)。 这导致所有的消息从未执行到完成。 在这一点上,我们可以看到和看到他们都是无效的。 由于他们在准备好的队列中,我们能够冲洗队列。