настроить его так, чтобы он выдавал воркеру только заданное количество пакетов в минуту? Мне нужно не провоцировать 429 ошибку в телеге https://stackoverflow.com/questions/31914062/telegram-bot-api-error-code-429-error-too-many-requests-retry-later
И еще вопрос — куда смотреть, чтобы сделать обработку сообщений определенного типа более приоритетной по сравнению с другими сообщениями в очереди?
Стикер
Стикер
Понадобится какая-то отдельная база для синхронизации этой величины между репликами консьюмера.
Я как раз о redis или etcd думал. А каким образом nginx?
Ну nginx реверспрокси, умеющий в рейтлимит. Можно запросы через него гнать и никаких синхронизаций не потребуется
Или принять что консьюмер будет всегда один)
Просто надо перекладывалку сделать с рейтлимитом, без изменений в схеме взаимодействия текущим по-сути
А я не понял, как, ведь консьюмеры обычно в веб не смотрят. Ну либо я только в таких местах работал.
Когда он один, то мне тогда уже реббит кажется лишней сущностью)
Куда им надо, туда и смотрят. Консюмер это обычное приложение.
Ну, в очередь смотрят, порции получают для обработки..
Консюмер этой очереди может быть один, такое бывает. Это не значит, что надо от всего кроля отказываться, если для одной задачи необходима последовательная обработка не более чем одним консюмером =)
Ключевое слово тут "обработка" - разные консюмеры обрабатывают по-разному. Возьмите банально консюмер, который общается с внешним SMTP для отправки писем.
Совсем нет. Накопление очередей сообщений перед ограниченым ресурсом это как раз вотчина реббита. А рейтлимит это яркий пример ограниченного ресурса.
Как выше сказали смотреть они могут куда угодно
Обсуждают сегодня