RECORD - call commitAsync() when the listener returns after processing

the record.
BATCH - call commitAsync() when all the records returned by the poll() have been processed.

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

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

Или я чет выдумываю 😅 ?

2 ответов

7 просмотров

Уточнение, есть чтение, есть запись. Суть в том, если батч не сформирован( мало записей) он отправится малым составом (один чел в автобусе) для этого есть и параметр времени за который идёт ожидание очереди бача. Как остановка, много людей - берут всех кто в автобус сел, мало - захватят всех и полупустым поедет

Марат- Автор вопроса
Svyatoslav
Уточнение, есть чтение, есть запись. Суть в том, е...

Да это мне понятно ) Допустим в пакет набралось 50 сообщений и этот пакет данных потом передается слушателю и мы читаем эти сообщения и пишем их в бд по одному, и допустим на обработке 40-го сообщения падаем с ошибкой, тогда получается оффсет же не закоммится на 40-ом сообщении, а откатится к самому первому сообщению которое было в пакете ?

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

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

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
Не догоняю немного каким боком тут эппл Вот есть веб (мини) апп, который по факту веб сайт, просто в телеге веб вью и если там оплата, то нежно вот эти приседания?
e\\/gen
7
Друзья, за кем?
Magic
12
ого, спасибо Никит, ты как всегда кладезь нужной инфы! Сейчас пойду копаться, а мне релиз создать как и версию самого плагина? типа 1.0.8?
Alex Blaze
9
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
всем привет подскажите пожалуйста а это платно или нет у меня есть диски в europe-west-4 и снапшоты там-же а поднимаю я новые диски из снапшотов в europe-north-1 я так поним...
Andrew Krw.
2
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
кстати о стайлгайдах, хотел бы снова опднять вопрос 1. Использование string в полях типа sale_order_id = field.Many2one('sale.order', string='Sale Order'). Кто как делает? И п...
Sergej R
3
Карта сайта