如何通过队列名称清除python中的所有rabbitmq队列

我使用 pythonkombu包与rabbitmq 服务交互。我想清除所有队列。我看到有一个kombu.Queue.purge方法,但我不想创建kombu.Queue对象,因为我不知道哪些交换机连接到哪些队列。我只想使用队列名称。



呼如林
浏览 100回答 1
1回答

哆啦的时光机

有一个 kombuChannel类,它实现了一个queue_purge根据其名称清除队列的方法。以下代码列出了所有队列并根据其名称清除它们。from kombu import Connection# Create a connectionmq_conn_string = 'amqp://user:password@domain:port//'  # Set the correct credentialsmq_conn = Connection(mq_conn_string)mq_conn.connect()# Create a channelchannel = mq_conn.channel()# Get all queuesvhost = "/"manager = mq_conn.get_manager()queues = manager.get_queues(vhost)# Purge each queuefor queue in queues:    queue_name = queue["name"]    channel.queue_purge(queue_name)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python