С установленным плагином rabbitmq_management вы можете запустить его, чтобы удалить все нежелательные очереди:
rabbitmqctl list_queues -p vhost_name |\
grep -v "fast\|medium\|slow" |\
tr "[:blank:]" " " |\
cut -d " " -f 1 |\
xargs -I {} curl -i -u guest:guest -H "content-type:application/json" -XDELETE http://localhost:15672/api/queues/<vhost_name>/{}
Давайте разберем команду:
rabbitmqctl list_queues -p vhost_name
перечислит все очереди и сколько заданий у них в данный момент.
grep -v "fast\|medium\|slow"
отфильтрует очереди, которые вы не хотите удалять, скажем, мы хотим удалить каждую очередь без слов fast , medium или slow .
tr "[:blank:]" " "
нормализует разделитель на rabbitmqctl между именем очереди и количеством заданий
cut -d " " -f 1
будет разбивать каждую строку по пробелам и выбирать 1-й столбец (имя очереди)
xargs -I {} curl -i -u guest:guest -H "content-type:application/json" -XDELETE http://localhost:15672/api/queues/<vhost>/{}
выберет имя очереди и установит его там, где мы установили символ {}
, удалив все очереди, не отфильтрованные в процессе.
Убедитесь, что использованный пользователь имеет права администратора.