здесь есть разработчики ботов, то как вы справляетесь с обработкой большого количества запросов, чтобы не было потерь?
Также как вы контролируете не превышение лимитов телеграма (30 юзеров в секунду и 1 действие пользователя в секунду) с учётом, что запросы обрабатываются асинхронно?
> но есть ещё Rake задачи по хрону Ну так перекинь в sidekiq-scheduler. > И как сделать так, чтобы эта очередь обрабатывалась где-то отдельно и параллельно? Sidekiq
Спасибо за ответ. Прошу прощения, что задаю столь глупые вопросы, так как я новичок. Я посмотрел гем, но я так и не понял, как контролировать количество отправленных сообщений в секунду, чтобы не превысить лимит? Воркер же обрабатывает задачи асинхронно и sleep внутри него точно не спасёт
Записывать в память счетчик для конкретного пользователя и если лимит превышен - кидать ошибку. Сайдкик будет делать ретрай
не, про пользователя я понял. Я не понял, что делать, если много пользователей. Также?
Записывать в память счетчик для конкретного пользователя и если лимит превышен - кидать ошибку. Сайдкик будет делать ретрай
Я не понимаю твоего вопроса, у тебя на каждого пользователя свой счетчик
Гуглить про rate limiters, уточнить вообще , что надо вообще этот лимит делать или просто поднять еще процессы сайдкика, чтобы очередь не собиралась.
Да уже неделю гуглю про них... Пока что я из ответов от телеги было в стиле разбейте ответы по времени, объедините в одно сообщение или обрабатывайте с помощью очереди
Видел тогда что пишут про принципы типа leaking bucket? Зачем вообще ограничивать то надо запросы?
телега не позволяет отправлять больше 30 сообщений в секунду иначе начинает тормозить отправку сообщений
Делай через сайдкик скедулер. Вызывай по 20 Джош каждую секунду и все.
Делай счетчик в редисе, в чем трабл?
https://github.com/sidekiq-scheduler/sidekiq-scheduler
Шедулер тут не в тему
Это коробочник решение, болт он для его задачи как мне кажется.
тут тебе надо убедиться что твои 130 сообщений burst не превысят лимит телеги в 30 сообщений в минуту. Как тут sidekiq-scheduler поможет?
Записывать сообщения в очередь и вытаскивать по 30 в минуту.
Обсуждают сегодня