如果我的理解是正确的,你实际上无法查看兔子队列中的消息而不将它们取出并将它们放回去.没有办法使用rabbitmqctl来检查队列.
在某些调试上下文中,了解队列中当前的内容非常有用.有没有办法得到消息?另外,Rabbit的设计是什么让这个过程变得麻烦?
Jos*_*eph 27
管理API中的每个队列都有一个"获取消息"部分.然而,这会导致消息被消耗,因此是一种破坏性的行为.我们可以将此消息重新排队到队列中,但代价是牺牲消息的顺序[对于rabbitmq版本<2.7.0].
更可行的替代方案是使用firehose示踪剂,http: //www.rabbitmq.com/firehose.html [对于rabbitmq版本> 2.5].这基本上是为了调试目的而将消息发布到不同的交换(amq.rabbitmq.trace).
这是另一个在firehose之上编写的用于提高可视性的GUI,http: //www.rabbitmq.com/blog/2011/09/09/rabbitmq-tracing-a-ui-for-the-firehose/
Bri*_*lly 19
你当然可以在RabbitMQ或任何AMQP代理中查看队列的内容.只是消费消息但不承认它们.关闭频道后,您的"真正"消费者可以使用这些消息.请记住,这样做可能会影响您检查的队列中的消息顺序.
此外,RabbitMQ提供的Web管理插件允许您从Web界面查看消息的内容.如果您正在尝试调试系统,那么这是一个非常有用的工具.
Err*_*404 16
我还没有亲自使用过这个,但是我看到了RabbitMQ的管理插件,我认为它允许你监视队列.
http://www.rabbitmq.com/management.html
Alk*_*ris 12
这是旧的,但只对任何对此感兴趣的人.通过访问Queues
您有一个代理的所有队列的列表.
按下您感兴趣的任何队列,然后向下滚动以查找此部分
这里设置的非常重要的选项是Requeue
选项.如果设置为Yes
,则此操作将使用该消息,因此您可以读取它,但它会重新排队,因此它不会丢失.
归档时间: |
|
查看次数: |
51164 次 |
最近记录: |