Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2.

Они связаны с очередью some_queue.
По задаче предполагается, что есть два паблиша.
Паблиш1 отправляет body с роутом роут1 , а паблиш 2 отправляет совсем иное содержимое body с rout2

Консьюмер 1 чекает какой роут если роут1 то мой код отрабатывает задачу и подтверждает получение сообщения роута1, а роут2 должен игнориться и должен возвращаться в очередь.
НО
После отработки, консьюмер1 стоит ждёт новых сообщений, но при этом сообщения с роутом2 не возвращает пока соединения консьюмера1 не закроешь.

Из-за этого Консьюмер2 не может получить сообщения с роутом2

Подскажите, пожалуйста, как сделать так, что бы сообщения с роутом2 возвращались в очередь, что бы их смог подхватить консьюмер2?

10 ответов

35 просмотров

Это кривая архитектура - вам надо вашему консьюмеру то что ему надо давать, а другому (для другого типа) делайте свою очередь - вы не можете пропустить сообщение, но оставить его в той же очереди

Format- Автор вопроса
Dmitry
Это кривая архитектура - вам надо вашему консьюмер...

Я это предложил боссу. Сказал ничего не трогай и прав лишил 😂

Format- Автор вопроса
Dmitry
Это кривая архитектура - вам надо вашему консьюмер...

Aio-pika Есть метод IncomingMessage.reject(requeue: bool = true) Но я не понял его смысл Он просто в очередь возвращает сообщение, но при этом получается вечный цикл с этим сообщениями с роут2 Он прогоняет их и возражает и снова берет Думал может есть что то такое Более подходящее https://aio-pika.readthedocs.io/en/latest/apidoc.html#aio_pika.IncomingMessage.reject

Format
Aio-pika Есть метод IncomingMessage.reject(requeue...

Разве после этого метода вы повторно не получите тоже сообщение? А , дочитал про цикл

Format- Автор вопроса
Dmitry
Разве после этого метода вы повторно не получите т...

Вот я и пишу, что там вечный цикл получается 😂😂😂

Format- Автор вопроса
Dmitry
Ну так то не решение ))

Ну мож более опытные подскажут вот и написал сюда Я с реббитом знаком второй день 🙄

Format
Ну мож более опытные подскажут вот и написал сюда ...

очередь фифо, и когда вы делаете нак - это вот этот метод reject(c флагом тру) - вы возвращаете сообщение в очередь так как консьюмер его не обработал - соответственно его скипнуть не получится, дайрект эксчендж может роутить в две очереди сообщения

Format- Автор вопроса
Tim Tim
очередь фифо, и когда вы делаете нак - это вот это...

Т.е. нужно все же для роута2 создать отдельную очередь, верно я вас понял?)

Похожие вопросы

Обсуждают сегодня

Всем привет! Использую gitlab-ci. Настроил gitlab-agent для деплоя в куб. При деплое проекта в логах такая ошибка: Executing deploy plan failed to watch "ns:my-project/Ingress...
Konstantin Moiseev
7
Ребзи, привет. Кто использует final-repo для регистри в яндексе? Какие переменные WERF_* задаёте и можно ли вывезти чисто на переменных подключение? У меня просто Gitlab CI на...
სერგეი ქრისტოვი
5
Привет всем. Кто знает, какие сейчас конференции для системных аналитиков проходят годные? Хочу своих отправить куда-нибудь на повышение квалификации… а то у них уже замылилос...
Артём Воронков
1
Но у меня еще один вопрос: как вы уже поняли, в моем werf проекте присутствует minio, использую оф. чарт оператора. В чарте есть описание CRD Tenant - это обычный инстанс mini...
Alexander Kozharsky
3
Подскажите пожалуйста, как все-таки правильно указывать реф на чарт-зависимость? Имеется сервис service1. Бандл с ним опубликован в Harbor: infra-harbor.xxx.lan/library/dev/yy...
Alexander Kozharsky
1
Коллеги, добрый день, у меня небольшой вопрос: А что дает ключ —env у команды werf bundle apply? Если в werf converge он задавал имя namespace и чарта, то в werf bundle apply ...
Сергей Сухорада
14
Всем привет! Собираю образы при помощь werf export. Также есть стейдж werf cleanup. Я ожидаю, что werf будет сам чистить ранер, но этого не происходит. Я получаю при ручном з...
Макс
8
Доброго времени, коллеги подскажите пожалуйста от чего заяц может выкидывать такую дичь? 2024-06-06 10:43:34.835296+00:00 [error] <0.15653.59> closing AMQP connection <0.1565...
Дивопсина сутулая породистая
4
Ребзи, привет. Хотел давно спросить, нет какого-то флага для werf export, чтобы пока билдится один образ, другой уже экспортился? А то капец как долго иногда приходится ждать....
სერგეი ქრისტოვი
5
Всем привет. на стадии блида хочу имортировать из имеджа в нашем же регистри несколько файлов в конечный имедж в сборке (имедж который собираю и из которого импортирую находя...
JC Kambola
1
Карта сайта