Borrar colas en RabbitMQ con Pika (python) y rabbitmqctl

Written by Samuel de Ancos

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.