Очистка очереди rabbitmq

Как я могу очистить (удалить сообщения) в очереди rabbitmq?
Я использую Ubuntu 14.04 и rabbitmq-сервер 3.2.4-1

Пример:

# rabbitmqctl list_queues -p openstack
Listing queues ...
...
notifications.info      372
...

3 ответа

Например:

sudo apt-get install amqp-tools
amqp-delete-queue -q name_from_queue

По этой ссылке у вас есть дополнительные параметры: https://stackoverflow.com/questions/5313027/rabbitmq-how-do-i-delete-all-messages-from-a-single-queue

Есть ли способ очистить очередь, не удаляя очередь?

Да; это называется очисткой очереди, и существует множество способов сделать это.

Это потому, что помимо того, что можно делать с такими инструментами, как rabbitmqadmin указал на брокера, это операция, доступная непосредственно из протокола. Таким образом, люди могут писать и писать инструменты, которые берут имена очередей и принимают queue.purge метод против них, в языках, таких как C++ и Python.

Пакет Ubuntu amqp-utils немного освещает такие инструменты, но не нужно далеко ходить, чтобы найти такие вещи, как набор инструментов Дуга Барта amqp-utils, написанный на Ruby и содержащий amqp-purge полезность.

rabbitmqadmin Синтаксис:

 rabbitmqadmin имя очереди очистки 

дальнейшее чтение

  • queue.purge, Краткий справочник AMQP 0-9-1. Основное программное обеспечение. 2015.
  • rabbitmqadmin, Основное программное обеспечение. 2015.
  • Дик Брауэр (2012-08-23). Очистка очереди AMQP.

Если это обычное операционное действие для Кролика, то мы должны добавить действие к заклинанию Джуджу, чтобы его можно было легко вызывать удаленно, без необходимости входа в систему. Juju также позаботится о том, чтобы это было сделано в то время, когда в системе больше ничего не происходило (очевидно, с точки зрения операций / развертывания).

Другие вопросы по тегам