не более 20-ти сообщений в минуту (каждую минуту). Какой возможен пример использования rate.Limiter для этих целей / "годится" ли он для этого? Пока получается что-то вроде "не чаще одного сообщения в 3 сек". Подозреваю что нужно использовать второй параметр, burst, но не понимаю как.
https://github.com/didip/tollbooth
Да, вполне возможен. Надо вызывать с Every(time.Minute) и 20
limiter := rate.NewLimiter(rate.Every(time.Minute), 20) - так срабатывает burst 20 (плюс одно сообщение в первую минуту) и далее по одному сообщению в минуту. Что-то не так...
Обсуждают сегодня