Borrar colas en RabbitMQ con Pika (python) y rabbitmqctl

Written by

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.