Павел
Надо смотреть конкретную БД
The Ant
Опять исходники читать...
Павел
@theantt Кстати, если уж на то пошло, то кролик не гарантирует не дабл отдачу
The Ant
Ппц
The Ant
Как жить с этим? )
Павел
Как жить с этим? )
Ты должен это на уровне прилы регулировать, так все очередя делают, если что то важное
Павел
Почитай про это))
Владимир
Как жить с этим? )
С кафкой разбираться :)
The Ant
А как на уровне приложухе на пхп делать? А если воркеры на разных серверах?
Владимир
@dexplon Exactly once же имеется ввиду?
The Ant
Блин...
Павел
Смысл в том, например у тебя прила упала, кролик тебе еще раз его пришлет, потому что ты не аскнул его
Павел
А как на уровне приложухе на пхп делать? А если воркеры на разных серверах?
Тут момент в том, что одновременно 2 не должно, а просто 2 может. Тут уже регулирешь у себя, был ли этот мессадж, задача выполнена ранее. Или лочишь как то
The Ant
Смысл в том, например у тебя прила упала, кролик тебе еще раз его пришлет, потому что ты не аскнул его
Т.е. В момент когда у тебя 100% проц забит гарантированно дабл месадж будет?
Павел
В простом случае, если ты делаешь пересылку денег от А к Б, минимум проверить что ее не было ранее
Павел
Александр
🔹 Нaxoжyсь в пoиcкe пopядoчныx пapтнёpoв для coвмecтнoгo coтpyдничecтвa в сфepe сrурtо. 🔹 Дeятeльнocть лeгальная, oпыт не oбязатeлен, нoвички быстpo выходят на стaбильный дocтoйный дoxoд, зaнятocть не бoлee 2 чacoв/cyтки. 🔹 Coпpoвoждение бecплaтнoе, будy paд отвeтить на всё интepecующие вoпросы в личныx.
The Ant
ну 100% проц не говорит, что у тебя упал консюмер
Это говорит о том, что возможен лаг даже в пару минут
The Ant
А причем тут лаг?
Сообщение получил, но ответить не смог, прилетело ещё 1
The Ant
Потом пролагало
The Ant
И вуаля
Павел
Сообщение получил, но ответить не смог, прилетело ещё 1
Там не так работает, он подтверждает что его принял. Там лок идет на это время, если говорить про кролика. Коннект же держится
Павел
А вот если обрвался коннект, то да
The Ant
Тайм-аут Лока?
Павел
Тайм-аут Лока?
Причем тут таймаут лока?
Павел
У тебя либо есть коннект либо его нет
Павел
Это ж не так - залочил, и типа отвалился
Павел
Ты когда забираешь сообщение из кролика - у тебя постоянный коннект
The Ant
Я с кроликом не работал. Есть там на это тайм-аут? В теории должен быть.
Павел
В доктрине кстати вот вопрос. Потому что чтобы лок держать, то надо обернуть в транзу
Павел
Но там вроде как через поле delivered_at - это регулируется
The Ant
На транзу есть тайм-аут, да
Павел
На транзу есть тайм-аут, да
Транза - тоже коннект
Павел
Но если ты про то, что если приложение зависло, то в одностороннем порядке наверное да, должны быть механизмы разрыва
Павел
Что в кролике что в остальном
Павел
Это логично
The Ant
Я пытаюсь понять как это контролировать
The Ant
Чёт... Походу никак )
Павел
Смотри, приходим к пункту 1
Павел
НИКАК нельзя контролировать что сообщение будет обработано ТОЛЬКО 1 раз
Павел
Это задача 2 генералов можешь погуглит
The Ant
Ясно, спасибо
Павел
В основном все стратегии - гарантированно 1 раз или более
Павел
А вот на стороне прилы ты уже должен разрулить, если пришел дабл
Павел
Если это критично важно
The Ant
А пхп(разных процессах) или на разных серверах я не смогу разрулить
Павел
@dexplon Exactly once же имеется ввиду?
@theantt https://ru.hexlet.io/blog/posts/exactly-once
Павел
А пхп(разных процессах) или на разных серверах я не смогу разрулить
Можешь, у тебя могут быть и распределенный локи, и запись того что ты делаешь
Павел
В основном они не одновременно происходят
Павел
А последовательно, как раз таки из за того что инфра сама лочит
Павел
Поэтому в основном налдо расчитывать на at-least-once (минимум 1 раз)
The Ant
Ладно, спасибо, пойду разбираться
Apxat
за что -)
Doctor
Да пошла ты нахуй тогда. Народ, я смотрю, антиспам-бот против этих рекламщиков не помогает. Кто-нибудь знает, есть ли ещё способы оградить от них чат? Тоже есть чат на 600+ человек, но эти уроды каким-то образом прорываются через антиспам-бота с капчой. Причём в чате даже не отображается сообщение о том, что они вступили. Я без понятия, как они так делают
Юра
Они пишут намного позже чем добавляются я так понимаю
Юра
Один из вариантов который я вижу это: бот который смотрит сообщения, если это первое сообщение от юзера направляет админу на модерацию и только после апрува постит в чат и помечает юзера как проверенного
Юра
Т.е. исходить из того что все боты изначально
Doctor
Вот я тоже так думал, что пишут гораздо позже присоединения. Потом как-то сидел в своём чате и краем глаза заметил, что счётчик юзеров увеличился на 1. Проверил историю и увидел запись о вступлении юзера. При этом антиспам-бот не триггернулся, а в самом чате не появилось уведомления о присоединении нового участника
Юра
Я не знаю как это работает точно
Юра
Может если юзер приглашает другого юзера оно без капчи происходит
Юра
И пишет ли оно в таком случае что ктото добавил кого-то
Юра
Но суть в том что я бы всех новых изначально на модерацию отправлял
Юра
Мне кажется в 99 процентах они пишут сразу рекламу
Юра
У нас не так много новых юзеров
Юра
А вот новых ботов дофига
Михаил
Вообще логика должна быть такая Неважно как пользак присоединился - он помечается как «грязный» Сразу отсылается капча Всё, что не цифры автоматом удаляется Если не ввел капчу - кик Если капчу не ввел больше n раз бан Проблема в том, что боту придётся трекать все сообщения и на каждое сообщение делать запрос Это можно конечно оптимизировать батчевой обработкой, но думаю массовые бесплатные боты этим не занимаются
Михаил
Если пользователя в чате можно как то пометить и когда ивент приходит эту метку можно считать то было бы гораздо проще.
Михаил
Но суть в том что я бы всех новых изначально на модерацию отправлял
О, есть идея с этим Но я хз как оно работать будет 1) чувак присоединяется в группу и отправляет заявку на вствупление 2) бот считывает заявку и отправляет ему в лс капчу 3) чувак общается с ботом, отвечает на капчу 4) если капча пройдена то заявка апрувится Проблема в том что вроде как боты не могут писать в лс
Vlad
@lolsbotcatcherbot хорошо сбривает, проверено
Maks
Флажком?
ньюфаги))) гуглить Флагшток-кун
Михаил
ньюфаги))) гуглить Флагшток-кун
Ой, я слышал там людей расчленяют. Пожалуй нет