3

我已经看了很多,但我还没有找到一种好的编程方式来列出 RabbitMQ 服务器上的队列。

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

我知道我可以用rabbitmqctl它来做,但这需要提升权限。

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

4

3 回答 3

4

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

于 2010-05-20T20:56:40.163 回答
3

2012 年更新

RabbitMQ 的开发可能使问题和其他答案过时了。提供 REST API 的管理插件现在是 RabbitMQ 的一部分。想一想,该插件可能默认被禁用。

于 2012-08-31T05:13:32.513 回答
0

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

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

稍加调整,您就可以编写一个 PHP 脚本来获得所需的内容。只需检查该项目的 lib 文件夹下。

于 2010-05-15T17:00:21.103 回答