为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼如林 2023-10-11 15:39:41
我使用 pythonkombu包与rabbitmq 服务交互。我想清除所有队列。我看到有一个kombu.Queue.purge方法,但我不想创建kombu.Queue对象,因为我不知道哪些交换机连接到哪些队列。我只想使用队列名称。
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

有一个 kombuChannel类,它实现了一个queue_purge根据其名称清除队列的方法。


以下代码列出了所有队列并根据其名称清除它们。


from kombu import Connection


# Create a connection

mq_conn_string = 'amqp://user:password@domain:port//'  # Set the correct credentials

mq_conn = Connection(mq_conn_string)

mq_conn.connect()


# Create a channel

channel = mq_conn.channel()


# Get all queues

vhost = "/"

manager = mq_conn.get_manager()

queues = manager.get_queues(vhost)


# Purge each queue

for queue in queues:

    queue_name = queue["name"]

    channel.queue_purge(queue_name)


查看完整回答
反对 回复 2023-10-11
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信