169 похожих чатов

Всем привет! Я разрабатываю телеграм-бот с использованием рельсов (вебхук). Если

здесь есть разработчики ботов, то как вы справляетесь с обработкой большого количества запросов, чтобы не было потерь?
Также как вы контролируете не превышение лимитов телеграма (30 юзеров в секунду и 1 действие пользователя в секунду) с учётом, что запросы обрабатываются асинхронно?

17 ответов

44 просмотра

> но есть ещё Rake задачи по хрону Ну так перекинь в sidekiq-scheduler. > И как сделать так, чтобы эта очередь обрабатывалась где-то отдельно и параллельно? Sidekiq

Артем- Автор вопроса
Alex Ilizarov
> но есть ещё Rake задачи по хрону Ну так перекин...

Спасибо за ответ. Прошу прощения, что задаю столь глупые вопросы, так как я новичок. Я посмотрел гем, но я так и не понял, как контролировать количество отправленных сообщений в секунду, чтобы не превысить лимит? Воркер же обрабатывает задачи асинхронно и sleep внутри него точно не спасёт

Записывать в память счетчик для конкретного пользователя и если лимит превышен - кидать ошибку. Сайдкик будет делать ретрай

Артем- Автор вопроса
Alex Ilizarov
Записывать в память счетчик для конкретного пользо...

не, про пользователя я понял. Я не понял, что делать, если много пользователей. Также?

Артем
не, про пользователя я понял. Я не понял, что дела...

Записывать в память счетчик для конкретного пользователя и если лимит превышен - кидать ошибку. Сайдкик будет делать ретрай

Артем
не, про пользователя я понял. Я не понял, что дела...

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

Артем
Спасибо за ответ. Прошу прощения, что задаю столь ...

Гуглить про rate limiters, уточнить вообще , что надо вообще этот лимит делать или просто поднять еще процессы сайдкика, чтобы очередь не собиралась.

Артем- Автор вопроса
Alex Iv
Гуглить про rate limiters, уточнить вообще , что н...

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

Артем
Да уже неделю гуглю про них... Пока что я из отве...

Видел тогда что пишут про принципы типа leaking bucket? Зачем вообще ограничивать то надо запросы?

Артем- Автор вопроса
Alex Iv
Видел тогда что пишут про принципы типа leaking bu...

телега не позволяет отправлять больше 30 сообщений в секунду иначе начинает тормозить отправку сообщений

Артем
телега не позволяет отправлять больше 30 сообщений...

Делай через сайдкик скедулер. Вызывай по 20 Джош каждую секунду и все.

https://github.com/sidekiq-scheduler/sidekiq-scheduler

Alex Ilizarov
Шедулер тут не в тему

Это коробочник решение, болт он для его задачи как мне кажется.

Alex Iv
Это коробочник решение, болт он для его задачи как...

тут тебе надо убедиться что твои 130 сообщений burst не превысят лимит телеги в 30 сообщений в минуту. Как тут sidekiq-scheduler поможет?

Alex Ilizarov
тут тебе надо убедиться что твои 130 сообщений bur...

Записывать сообщения в очередь и вытаскивать по 30 в минуту.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта