Как удалить все сообщения из одной очереди, используя cli? У меня есть имя очереди, и я хочу его почистить.
143
rabbitmqadmin - идеальный инструмент для этого
rabbitmqadmin purge queue name=name_of_the_queue_to_be_purged
http://rabbitserver:15672/cli/
вы можете напрямую запустить эту команду
источник
rabbitmqctl purge_queue queue_name -p my_virt_host
Для очистки очереди вы можете использовать следующую команду (больше информации в API doc):
источник
RabbitMQ реализует расширенный протокол очереди сообщений (AMQP), поэтому вы можете использовать универсальные инструменты для подобных вещей.
В Debian / Ubuntu или аналогичной системе выполните:
источник
RabbitMQ имеет 2 вещи в очереди
Удалить - удалит очередь
Очистка - это очистит очередь (т.е. удаляет сообщения из очереди, но очередь все еще существует)
источник
ВАЖНОЕ ПРИМЕЧАНИЕ: это удалит всех пользователей и конфигурации.
Предупреждение !!
Предупреждение !!
Я не предлагаю этот ответ до тех пор, пока вы не захотите удалить данные из всех очередей, включая пользователей и конфиги. Просто сбросьте его !!!
источник
Я думаю, что уже поздно, но для других, это можно сделать с помощью Пика
источник
Я успешно использовал
ampq-purge
из amqp-utils для этого:источник
Для удаления только сообщений из очереди используйте:
Чтобы удалить очередь, которая пуста ( --if-empty ) или не имеет потребителей ( --if-unused ), используйте:
или
источник