Comments (6)
Yes, please. What is the meaning of Slack
in a leaky bucket algorithm? I have an observation where when the application do not Take()
for a period of time, the rate limiting stops to apply on the next Take()
. I saw a comment that WithoutSlack
is the way to fix this problem. I want to make an educated decision. Please help with some documentation.
from ratelimit.
We'll be happy to accept PRs that update the documentation.
from ratelimit.
There is a Chinese blog to illustrate slack
and #119, #120.
While it partially explains the context of the bug, it still lacks a direct explanation of slack
and we are always approaching this issue from an observer's perspective, missing the original author's direct thoughts on this design about slack
.
If no one can clarify this, please mention that slack
defaults to 10 and the consequences it brings. Even consider modifying the usage example of this library to guide everyone new to use it with ratelimit.WithoutSlack
.
If you agree with my comments, I can submit PRs to make contributions.
from ratelimit.
Apologies for the delay.
I see the points you're making. If you can put up the PRs, I'll accept them. Please make them small though - one for example, one for the documentation (perhaps in the FAQ)?
Thank you for the Chinese blog post. I'm surprised by the reported performance degradation, I'll try to run some more tests.
from ratelimit.
There was a similar issue about it: #4 .
from ratelimit.
Apologies for the delay.
I see the points you're making. If you can put up the PRs, I'll accept them. Please make them small though - one for example, one for the documentation (perhaps in the FAQ)?
Thank you for the Chinese blog post. I'm surprised by the reported performance degradation, I'll try to run some more tests.
Thanks for your reply. I will try to do some docs works.
from ratelimit.
Related Issues (20)
- X-Rate-Limit
- this line of doc is wrong
- When one of my operations has not called the atomicInt64Limiter.task() function for a long time, the speed limit may fail to be called again HOT 1
- change limit after start HOT 1
- Release all recent changes with a new v0.3.0 tag. HOT 1
- Unexpected results on CI with higher loop iterations
- This is rate shaping, not limiting HOT 1
- Take always return without block if it enters the case branch HOT 3
- The "slack" option doesn't make effect when use newAtomicInt64Based version rate limit
- Behavior of take in goroutine HOT 1
- Supply clock interface for testing? HOT 2
- context.Context support for Take? HOT 7
- If add some check in New function?
- Support for increasing/decreasing limits on the fly HOT 5
- What's the major diff v.s. https://pkg.go.dev/golang.org/x/time/rate HOT 1
- Adding support for an `Allow` method HOT 10
- Why does the example_test fail when I run it locally? HOT 2
- atomicInt64Limiter WithoutSlack doesn't block HOT 18
- Can you support the take method of non blocking sleep
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ratelimit.