gpt4 book ai didi

rabbitmq - RabbitMQ如何判断一个队列在管理工具中状态是否为Active

转载 作者:行者123 更新时间:2023-12-04 03:06:43 27 4
gpt4 key购买 nike

当登录到 Web 管理工具时,具有“事件连接”的队列在队列的详细信息部分显示“事件”状态。请注意,事件连接的概念是我自己的,因为我只是通过网络上的客户端通过 Web 服务 API 轮询此队列,我没有持久连接。主要问题是如何以编程方式检索此状态?我正在使用 Java (Spring AMQP),但如果需要,我可以深入研究 rabbit java api。

我也查看了 HTTP API,但据我所知,它与 HTTP 管理门户中显示的“状态:事件”没有直接匹配。

最佳答案

经过一些挖掘,我发现您可以通过查看 HTTP api 结果来确定队列是否空闲。如果队列的结果有字段“idle_since”,则队列空闲,如果该字段不存在,则队列处于事件状态。

在我的例子中,我希望根据队列事件确定用户的“存在”,而该字段不提供该信息。该字段反射(reflect)了最近发生“某事”的事实(队列被标记为偶像以节省代理中的内存)。上面提到的“某事”可能是访问队列的客户端,这在我的情况下没问题,但也可能是从 rabbitmqctl 命令调用 list_queues 的监视工具。

如果您希望进行一些简单的状态通知/消息传递。这里有两个可能有用的链接。第一个是将新交换类型添加到 rabbit 的扩展,第二个是博客文章,其中有一节介绍如何使用交换来交换绑定(bind)来实现存在通知。

https://github.com/tonyg/presence-exchange

http://www.rabbitmq.com/blog/2010/10/19/exchange-to-exchange-bindings/

关于rabbitmq - RabbitMQ如何判断一个队列在管理工具中状态是否为Active,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693683/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com