Skip to content

Commit

Permalink
feat: update defaults for per item rate limit
Browse files Browse the repository at this point in the history
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
  • Loading branch information
gdsoumya committed Sep 13, 2023
1 parent 8b44c12 commit f8e0e3b
Showing 1 changed file with 6 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@ type AppControllerRateLimiterConfig struct {

func GetAppRateLimiterConfig() *AppControllerRateLimiterConfig {
return &AppControllerRateLimiterConfig{
// global queue rate limit config
int(env.ParseInt64FromEnv("WORKQUEUE_BUCKET_SIZE", 500, 1, math.MaxInt64)),
int(env.ParseInt64FromEnv("WORKQUEUE_BUCKET_QPS", 50, 1, math.MaxInt64)),
env.ParseDurationFromEnv("WORKQUEUE_FAILURE_COOLDOWN", 5*time.Minute, 0, 24*time.Hour),
env.ParseDurationFromEnv("WORKQUEUE_BASE_DELAY", 2*time.Millisecond, 1*time.Millisecond, 24*time.Hour),
env.ParseDurationFromEnv("WORKQUEUE_MAX_DELAY", 1000*time.Second, 1*time.Millisecond, 24*time.Hour),
// individual item rate limit config
// when WORKQUEUE_FAILURE_COOLDOWN is 0 per item rate limiting default disabled(default)
env.ParseDurationFromEnv("WORKQUEUE_FAILURE_COOLDOWN", 0, 0, 24*time.Hour),
time.Duration(env.ParseInt64FromEnv("WORKQUEUE_BASE_DELAY_NS", 1000, 1, (24*time.Hour).Nanoseconds())) * time.Nanosecond,
env.ParseDurationFromEnv("WORKQUEUE_MAX_DELAY", 120*time.Second, 1*time.Millisecond, 24*time.Hour),
}
}

Expand Down

0 comments on commit f8e0e3b

Please sign in to comment.