Implement rate limiter
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 268
- PR merge metrics
- No merged PRs in 30d
Description
Sometimes, especially in offline/nearline scenarios it might be practical to use rate limiter.
When used with bounded max concurrent plans and Engine.blockingRun() it would apply back pressure based on specified rate limits.
Some of design considerations:
- it should be non-blocking
- cancellation of rate limited tasks that wait for a permit should release their reservations to allow other waiting tasks to start sooner
Contributor guide
No contributing guide indexed for this repository
Research direction
No implementation files or tests are named. Start by reviewing Engine.blockingRun() and the existing concurrency behavior; define how a non-blocking rate limiter applies back pressure and how cancelled tasks release reserved permits. Done should include a clear API and coverage for waiting, rate limits, and cancellation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100