From f1bcfde617e64c1757bc4866bf68355325015155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Mon, 7 Sep 2015 21:01:35 +0200 Subject: [PATCH] Script pour supprimer des queues de civet --- gestion/trigger/maintenance/delete_queue.py | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 gestion/trigger/maintenance/delete_queue.py diff --git a/gestion/trigger/maintenance/delete_queue.py b/gestion/trigger/maintenance/delete_queue.py new file mode 100755 index 00000000..94a99371 --- /dev/null +++ b/gestion/trigger/maintenance/delete_queue.py @@ -0,0 +1,51 @@ +#!/bin/bash /usr/scripts/python.sh +# -*- coding: utf-8 -*- + +import pika +import argparse + +import gestion.config.trigger as trigger_config +import gestion.secrets_new as secrets + +def delete_queues(args): + """Supprime les queues passées en argument""" + trigger_password = secrets.get('rabbitmq_trigger_password') + credentials = pika.PlainCredentials(trigger_config.user, trigger_password) + + connector = pika.adapters.blocking_connection.BlockingConnection( + pika.ConnectionParameters( + host=trigger_config.master, + port=trigger_config.port, + credentials=credentials, + ssl=trigger_config.ssl + ) + ) + + channel = connector.channel() + + for queue_name in args.noms: + try: + channel.queue_delete(queue_name) + print "Queue %s supprimée." % (queue_name,) + except pika.exceptions.ChannelClosed as excep: + print repr(excep) + channel = connector.channel() + + try: + channel.close() + except pika.exceptions.ChannelClosed as excep: + pass + + try: + connector.close() + except Exception as excep: + pass + +if __name__ == '__main__': + PARSER = argparse.ArgumentParser(description="Détruit une queue", add_help=False) + PARSER.add_argument('-h', '--help', help="Affiche ce message et quitte.", action="store_true") + PARSER.add_argument('noms', type=str, nargs="+", help="Le nom des queues à détruire.") + + ARGS = PARSER.parse_args() + + delete_queues(ARGS)