#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"})