Simple, thread-safe Go rate-limiter (evacuated from NSA/Microsoft Github... not to be confused with golang-github-jacobsa-ratelimit-dev or golang-github-juju-ratelimit-dev )
anonymous 7da77c02c4 preliminary building debian package | před 5 roky | |
---|---|---|
debian | před 5 roky | |
.travis.yml | před 7 roky | |
Gopkg.lock | před 7 roky | |
Gopkg.toml | před 7 roky | |
LICENSE | před 7 roky | |
Makefile | před 7 roky | |
README.md | před 5 roky | |
ratelimit.go | před 8 roky | |
ratelimit_test.go | před 7 roky |
Simple, thread-safe Go rate-limiter. Inspired by Antti Huima's algorithm on http://stackoverflow.com/a/668327
package main
import (
"notabug.org/themusicgod1/ratelimit"
"log"
)
func main() {
// Create a new rate-limiter, allowing up-to 10 calls
// per second
rl := ratelimit.New(10, time.Second)
for i:=0; i<20; i++ {
if rl.Limit() {
fmt.Println("DOH! Over limit!")
} else {
fmt.Println("OK")
}
}
}
Full documentation is available on GoDoc