Есть ли API для перечисления очередей и обменов на RabbitMQ? - PullRequest
2 голосов
/ 15 мая 2010

Я немного выглядел, но мне не удалось найти хороший программный способ перечисления очередей на сервере RabbitMQ.

Это важно, потому что мне нужно очистить свои очереди и обмены, когда я закончу с ними. У меня не всегда есть хорошее событие "done", которое можно использовать для запуска очистки, поэтому я хотел бы сделать это с большей частью модели сборки мусора. Если я могу составить список очередей, я могу убедиться, что объекты, к которым они относятся, не должны создавать больше записей, и очистить их.

Я знаю, что могу использовать rabbitmqctl, но для этого нужны повышенные привилегии.

Поскольку я не смог найти способ составления списка очередей программным способом, я вел список имен в базе данных. Это работает, но уродливо.

Ответы [ 3 ]

4 голосов
/ 21 мая 2010

Вы можете использовать Алису - http://github.com/auser/alice. Это интерфейс REST для выполнения команд rabbitmqctl

2 голосов
/ 31 августа 2012

2012 обновление

Разработка RabbitMQ, вероятно, сделала вопрос и другие ответы устаревшими. Плагин управления , который предоставляет REST API, теперь является частью RabbitMQ. Плагин может быть отключен по умолчанию, подумал.

0 голосов
/ 15 мая 2010

Если вам нужно автоматически удалить обмен и очереди, когда вы закончите, то вы можете сделать это на основе параметров, которые вы используете для exchange_declare и queue_declare.

Возвращаясь к вашему вопросу о списках очередей и обменов, вы можете использовать такой инструмент: http://github.com/tnc/rac

С небольшой настройкой вы можете написать скрипт PHP, чтобы получить то, что вам нужно. Просто проверьте в папке lib этого проекта.

...