我使用 pythonkombu包與rabbitmq 服務(wù)交互。我想清除所有隊列。我看到有一個kombu.Queue.purge方法,但我不想創(chuàng)建kombu.Queue對象,因為我不知道哪些交換機連接到哪些隊列。我只想使用隊列名稱。
1 回答

哆啦的時光機
TA貢獻1779條經(jīng)驗 獲得超6個贊
有一個 kombuChannel類,它實現(xiàn)了一個queue_purge根據(jù)其名稱清除隊列的方法。
以下代碼列出了所有隊列并根據(jù)其名稱清除它們。
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)
添加回答
舉報
0/150
提交
取消