是否有用于在RabbitMQ上列出队列和交换的API?

时间:2010-05-15 13:36:00

标签: ruby rabbitmq amqp

我看起来相当多,但我找不到一个好的编程方式来列出RabbitMQ服务器上的队列。

这很重要,因为当我完成它们时,我需要清理队列和交换。我并不总是有一个很好的“完成”事件可以用来触发清理,所以我想用更多的垃圾收集模型来做。如果我可以列出队列,我可以验证他们所关联的对象不应该生成更多条目并清理它们。

我知道我可以使用rabbitmqctl来执行此操作,但这需要提升权限。

由于我无法找到以编程方式列出队列的方法,因此我一直在数据库中保留一个名称列表。这很有效,但很难看。

3 个答案:

答案 0 :(得分:4)

您可以使用Alice - http://github.com/auser/alice。它是一个执行rabbitmqctl命令的REST接口

答案 1 :(得分:2)

2012年更新

RabbitMQ开发可能使问题和其他答案过时了。提供REST API的Management Plugin现在是RabbitMQ的一部分。默认情况下,插件可能会被禁用。

答案 2 :(得分:0)

如果您需要在完成后自动删除交换和队列,那么您可以根据用于exchange_declare和queue_declare的选项来完成此操作。

回到列出队列和交换的问题,你可以使用像这样的工具:http://github.com/tnc/rac

通过一些调整,你可以编写一个PHP脚本来获得你需要的东西。只需检查该项目的lib文件夹。