鼠兔无法创建仲裁队列
pika unable to create quorum queue
我用 RabbitMQ 设置了 amazonMQ,并尝试使用 Pika 连接和发布消息:
credentials = pika.PlainCredentials(MQUSER, MQPW)
amqs_str='amqps://'+MQUSER+':'+MQPW + '@'+MQURL+':'+str(MQPORT)+'/%2F'
parameters= pika.URLParameters(amqs_str)
connection = pika.BlockingConnection(parameters)
channel= connection.channel()
channel.queue_declare(queue=MQ_QUEUE_NAME,durable=True)
这会起作用,但创建的队列是经典的,而且我知道在多节点 rabbitmq 服务器中仲裁要好得多。我搜索了 pika 文档 https://pika.readthedocs.io/en/0.10.0/modules/channel.html 但找不到任何设置来设置仲裁类型队列。任何人都可以建议吗?
刚刚尝试过 - 通过在以下情况下传递队列类型仲裁来工作
调用 queue_declare
.
最小的工作示例。我用 rabbitMQ docker 图像进行了测试:
docker run -d --name rabbitMQ -p 5672:5672 -p 8080:15672 rabbitmq:3-management
import pika
con = pika.BlockingConnection(pika.ConnectionParameters("localhost"))
channel = con.channel()
channel.queue_declare(queue="test",durable=True,arguments={"x-queue-type": "quorum"})
我用 RabbitMQ 设置了 amazonMQ,并尝试使用 Pika 连接和发布消息:
credentials = pika.PlainCredentials(MQUSER, MQPW)
amqs_str='amqps://'+MQUSER+':'+MQPW + '@'+MQURL+':'+str(MQPORT)+'/%2F'
parameters= pika.URLParameters(amqs_str)
connection = pika.BlockingConnection(parameters)
channel= connection.channel()
channel.queue_declare(queue=MQ_QUEUE_NAME,durable=True)
这会起作用,但创建的队列是经典的,而且我知道在多节点 rabbitmq 服务器中仲裁要好得多。我搜索了 pika 文档 https://pika.readthedocs.io/en/0.10.0/modules/channel.html 但找不到任何设置来设置仲裁类型队列。任何人都可以建议吗?
刚刚尝试过 - 通过在以下情况下传递队列类型仲裁来工作
调用 queue_declare
.
最小的工作示例。我用 rabbitMQ docker 图像进行了测试:
docker run -d --name rabbitMQ -p 5672:5672 -p 8080:15672 rabbitmq:3-management
import pika
con = pika.BlockingConnection(pika.ConnectionParameters("localhost"))
channel = con.channel()
channel.queue_declare(queue="test",durable=True,arguments={"x-queue-type": "quorum"})