我使用rabbitmq作爲amqp服務器(clustering)和kombu + py-amqp作爲amqp client.i可以發送正常消息隊列的/ recv消息,但我不知道如何爲鏡像隊列發送/ recv消息,並且我可以沒有找到答案與谷歌。如何發送/ recv鏡像隊列消息?如何在python3中使用amqp鏡像隊列?
我的代碼:
with Connection(hostname='192.168.1.10',userid='test',password='test',virtual_host='test') as conn:
simple_queue = conn.SimpleQueue('test')
,並得到例外
File "./test_amqp.py", line 38, in send
simple_queue = conn.SimpleQueue('test')
File "/usr/local/lib/python3.2/site-packages/kombu/connection.py", line 671, in SimpleQueue
exchange_opts, **kwargs)
File "/usr/local/lib/python3.2/site-packages/kombu/simple.py", line 122, in __init__
consumer = messaging.Consumer(channel, queue)
File "/usr/local/lib/python3.2/site-packages/kombu/messaging.py", line 338, in __init__
self.revive(self.channel)
File "/usr/local/lib/python3.2/site-packages/kombu/messaging.py", line 350, in revive
self.declare()
File "/usr/local/lib/python3.2/site-packages/kombu/messaging.py", line 360, in declare
queue.declare()
File "/usr/local/lib/python3.2/site-packages/kombu/entity.py", line 471, in declare
self.queue_declare(nowait, passive=False)
File "/usr/local/lib/python3.2/site-packages/kombu/entity.py", line 497, in queue_declare
nowait=nowait)
File "/usr/local/lib/python3.2/site-packages/amqp/channel.py", line 1240, in queue_declare
(50, 11), # Channel.queue_declare_ok
File "/usr/local/lib/python3.2/site-packages/amqp/abstract_channel.py", line 70, in wait
return self.dispatch_method(method_sig, args, content)
File "/usr/local/lib/python3.2/site-packages/amqp/abstract_channel.py", line 88, in dispatch_method
return amqp_method(self, args)
File "/usr/local/lib/python3.2/site-packages/amqp/channel.py", line 222, in _close
(class_id, method_id), ChannelError)
amqp.exceptions.PreconditionFailed: Queue.declare: (406) PRECONDITION_FAILED - inequivalent arg 'x-ha-policy'for queue 'smarton' in vhost 'smarton': received none but current is the value 'all' of type 'longstr'
我知道這一點,我找不到在哪裏把{「X-HA-政策」:「所有」 } – xielingyun
queue_opts = {「x-ha-policy」:「all」}不起作用 – xielingyun