Установить минимальную задержку между сообщениями - rabbitmq - PullRequest
0 голосов
/ 06 июня 2019

Мне нужно решение, в котором я могу установить минимальную задержку между сообщениями, которые опрашиваются из очереди. Я не хочу откладывать каждое сообщение на фиксированное количество миллисекунд.

Допустим, очередь получает 3 сообщения в первую секунду. Но я хочу тянуть каждые 5 секунд. Таким образом, мой клиент не перегружен многими запросами.

Есть ли способ решить эту проблему с rabbitmq или мне нужно перейти на какую-то другую платформу?

1 Ответ

3 голосов
/ 06 июня 2019

Каждый раз, когда вы обращаетесь за помощью к RabbitMQ (или любому программному обеспечению), вы должны предоставить информацию о том, какие версии программного обеспечения вы используете и какие клиентские библиотеки. Таким образом, люди, которые помогают вам, могут делать это эффективно.

Ваш клиент должен использовать из очереди метод basic.consume. Установите для канала значение «предварительная выборка» максимальное количество неподтвержденных сообщений, которые вы хотите, чтобы этот потребитель получал одновременно (вы можете установить его на 1, если вы хотите, чтобы только одно сообщение за раз). Затем выполняйте свою работу и подтверждайте сообщения только по истечении желаемого промежутка времени.

Убедитесь, что это не приведет к накоплению сообщений в очередях. Вы будете контролировать вашу установку RabbitMQ, верно?


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...