pika не удается создать очередь кворума

#python #pika

#python #pika

Вопрос:

я настраиваю amazonMQ с помощью RabbitMQ и пытаюсь использовать Pika для подключения и публикации сообщений:

         credentials = pika.PlainCredentials(MQUSER, MQPW)
        amqs_str='amqps://' MQUSER ':' MQPW   '@' MQURL ':' str(MQPORT) '//'
        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 но не удалось найти никаких настроек для установки очереди типа кворума. может кто-нибудь посоветовать?

Ответ №1:

Просто попробовал — работает, передавая кворум типа очереди при вызове queue_declare .

Минимальный рабочий пример. Я тестировал с помощью образа docker RabbitMQ: 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"})