Я правильно понимаю, что если сообщения добавляются в очередь по

одному, то раббит сам не сможет их слать консюмеру батчами по нескольку штук за раз?

18 ответов

12 просмотров

не правильно

А вам конкретно для чего батч, вы с какой проблемой столкнулись?

Александр- Автор вопроса
Aleksey Barabanov
А вам конкретно для чего батч, вы с какой проблемо...

Мне в консюмере нужно дождаться нескольких посылок, чтобы потом переслать их одним TCP пакетом.

Александр
Мне в консюмере нужно дождаться нескольких посылок...

ну и дожидайтесь) просто префетч сделайте больше чем батч

Александр- Автор вопроса
Александр
Так а зачем тогда вообще нужен батч?

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

Алихан
Может, кафку юзать тогда?

А я вроде не спрашивал что мне делать, я пытался в вашем кейсе разобраться. Со своим у меня всё в порядке. Многое можно, а вот пох*й на всё! (С) Пневмослон

Александр- Автор вопроса
Aleksey Barabanov
ну вот это я у вас и спрашиваю. у меня кейс что со...

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

Александр
Я не пойму, умеет ли сам раббит или amqp собирать ...

Что за теги? Консьюмер-теги? Зачем их хранить?

Владислав Килин
Ну акать-то их надо по отдельности =)

Почему по отдельности? Можно же ack(multiple = true).

Vadim
Что за теги? Консьюмер-теги? Зачем их хранить?

А тут я подводил к тому, что либа сама этим "хранением" занимается. Запускаешь консьюмер и ловишь сообщения.

Александр- Автор вопроса
Vadim
Почему по отдельности? Можно же ack(multiple = tru...

Если один консюмер шлёт в 2 разных места, то так уже не выйдет.

Александр- Автор вопроса
Vadim
Тогда нужны две разные очереди.

Уже думал над этим. А что если порядка 1000 очередей?

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

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

Честно говоря замучался с пробросом токена из Github Secrets. Из документации все равно ничего непонятно, перебираю всевозможные варианты оттуда, пока ничего не работает. Ест...
1
pika.exceptions.ChannelClosedByBroker: (406, "PRECONDITION_FAILED - inequivalent arg 'x-message-ttl' for queue 'amo-crm.q' in vhost '/': received the value '60000' of type 'si...
Sergey
9
Еще одну панику поймал: $ werf helm repo add --username gitlab --password ${CI_JOB_TOKEN} helm-werf ${HELM_REPO_V2_URL} "helm-werf" has been added to your repositories $wer...
citius
1
Вроде всё верно, imagePullSecrets находится в секции spec. Возможно в Secret указано что-то не в том формате (а именно ключ ".dockerconfigjson"). Поищу информацию. А этот Secr...
3
Вот такая неприятность на stable и ea версиях: werf helm --namespace s4c upgrade --install --atomic --timeout 5m --set s4c.version=839185f3 --set s4c.deployEnv=staging -f d...
citius
6
Подскажите, следующая проблема с werf и Github Actions, ошибка следующая - "failed to authorize: failed to fetch anonymous token: unexpected status from GET request to https:/...
1
Блин а мне как поумнеть ?
Toxin
191
Всем привет! Прохожу этот самоучитель. Дошел до # Настроим подключение к MinIO. mc alias set minio http://minio:9000 minioadmin minioadmin # Получим содержимое сохранённого...
Aleksandr
7
Всем привет. Подскажите. Следующая ошибка при выполнении команды werf ci-env github --as-file - "unable to get synchronization client id: unable to get repo ghcr.io/*** tags: ...
2
А подскажите такую штуку. Процесс сборки и деплоя проходит успешно (Github Actions), но видно что как будто сборка идёт совсем без учёт кеша, всё снова пулится и повторно слои...
1
Карта сайта