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

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

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

17 ответов

9 просмотров

> но есть ещё 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 в минуту.

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
Hey someone plz help to resolve my issue here is my table... Log { id user_id type target_ct target_obj_id action_ct action_obj_id workspace_id created_at } i wanna fil...
Rahul Singh
1
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта