Pika python ждет RabbitMQ Publisher, если очередь достигает предела - PullRequest
0 голосов
/ 05 июня 2018

У меня есть сценарий, скрипт на python, который будет публиковать, скажем, сообщение 150 КБ с максимальным размером каждого сообщения 10 КБ.Затем я установлю предел очереди максимум на 5000 сообщений.Затем издатель будет публиковать сообщения в очереди, пока не достигнет предела 5000 сообщений.Затем потребитель попытается получить сообщение.

Я хочу спросить: может ли издатель подождать публикации сообщения, если очередь заполнена?без отбрасывания сообщения.Еще раз проверим, доступна ли очередь, затем издатель опубликует данные.

1 Ответ

0 голосов
/ 05 июня 2018

Команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.


Если вы используете новую версию RabbitMQ (например, 3.7.5),Вы можете установить overflow поведение на reject-publish.Затем в своем коде используйте метод channel_instance.confirm_delivery(), чтобы включить подтверждение издателя.Наконец, когда предел очереди достигнут, на ваш код будет отправлено сообщение basic.nack, которое вызовет исключение NackError, которое вы можете перехватить.

...