En ocasiones necesitamos borrar todas las colas de nuestro RabbitMQ, sobretodo en entornos de pruebas.
Este pequeño script en python utilizando la libreria Pika nos puede ayudar a esta tarea.
Para ello utilizaremos la libreria Pika:
pip install pika
(Esta solución esta sacada de http://stackoverflow.com/questions/6742938/deleting-queues-in-rabbitmq/22576477#22576477
#!/usr/bin/env python
from sys import stdin
from pika import BlockingConnection, ConnectionParameters
connection = BlockingConnection(ConnectionParameters('localhost'))
channel = connection.channel()
queues = stdin.readlines()[1:-1]
for x in queues:
q = x.split()[0]
print 'Deleting %s...' %(q)
channel.queue_delete(queue=q)
connection.close()
Para utilizarlo solo tenemos que hacer esta llamada desde la linea de comandos:
sudo rabbitmqctl list_queues | delete_queues.py
Gracias a este pequeño script nuestra tarea de eliminar todas las colas en RabbitMQ estará solucionada.