RabbitMQ потребляет одно сообщение перед получением нового - PullRequest
0 голосов
/ 22 октября 2019

Если я отправлю сообщение задаче внутри моего сервиса и вернусь из обратного вызова RabbitMQ «Получено», я сразу получу новый обратный вызов. Это не предназначено, так как мой сервис будет работать как новая очередь и делает порождение нового работника более менее бесполезным, так как первый сервис исключил все сообщения.

В примерах на Python я вижу, что обратный вызовподтверждает сообщение, когда оно сделано, а C # - нет. Может ли это подтверждение использоваться для блокировки новых сообщений до тех пор, пока текущее сообщение не будет обработано.

Также находит блокировку функции события «Received» с семафором, пока обработка не будет сделана очень и очень хакерской.

1 Ответ

0 голосов
/ 22 октября 2019

Вам нужно установить предварительную выборку потребителя на 1: https://www.rabbitmq.com/consumer-prefetch.html

Подтвердите сообщение, когда закончите, и вы получите следующее.


ПРИМЕЧАНИЕ: команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.

...