Как удалить очередь в rabbit mq
Я использую rabbitmctl, используя библиотеку pika. Я использую следующий код для создания Producer
#!/usr/bin/env python
import pika
import time
import json
import datetime
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
#print " current time: %s " % (str(int((time.time())*1000)))
print body
channel.basic_consume(callback,
queue='hello',
no_ack=True)
channel.start_consuming()
поскольку я создаю существующую очередь каждый раз (перепишите создание очереди в случае, если очередь не создана), очередь была повреждена из-за этого.и теперь я хочу удалить очередь..как мне это сделать?
2 ответов
поскольку это, похоже, процедура обслуживания, а не то, что вы будете делать регулярно в своем коде, вы, вероятно, должны использовать плагин управления RabbitMQ и удалите очередь оттуда.
в любом случае, вы можете удалить его из pika с помощью:
channel.queue_delete(queue='hello')
https://pika.readthedocs.org/en/latest/modules/channel.html#pika.channel.Channel.queue_delete
подробный ответ выглядит следующим образом (со ссылкой на выше очень полезный и полезный ответ)
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
'localhost'))
channel = connection.channel()
channel.queue_delete(queue='hello')
connection.close()