如何在兔子mq中删除队列

时间:2013-11-11 17:30:50

标签: queue rabbitmq

我正在使用pika库使用rabbitmctl。 我使用以下代码创建一个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()

因为我每次都创建一个现有队列(如果没有创建队列,则覆盖队列的创建)队列因此而被破坏。现在我想要删除队列..我是怎么做的?

3 个答案:

答案 0 :(得分:17)

由于这似乎是一个维护过程,而不是您将在代码上常规执行的操作,因此您可能应该使用RabbitMQ management plugin并从那里删除队列。

无论如何,您可以通过以下方式将其从pika中删除:

channel.queue_delete(queue='hello')

https://pika.readthedocs.org/en/latest/modules/channel.html#pika.channel.Channel.queue_delete

答案 1 :(得分:4)

详细答案如下(参考上述非常有用和有用的答案)

import pika


connection = pika.BlockingConnection(pika.ConnectionParameters(
               'localhost'))
channel = connection.channel()


channel.queue_delete(queue='hello')

connection.close()

答案 2 :(得分:0)

GUI rabbitMQ没那么容易

$ sudo rabbitmq-plugins enable rabbitmq_management

http://localhost:15672/#/queues

用户名:访客

密码:访客


this启发