Help us shape the future of Go! Take the 2026 Go Developer Survey

ratelimiter

package
v3.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCustomAppControllerRateLimiter

func NewCustomAppControllerRateLimiter[T comparable](cfg *AppControllerRateLimiterConfig) workqueue.TypedRateLimiter[T]

NewCustomAppControllerRateLimiter is a constructor for the rate limiter for a workqueue used by app controller. It has both overall and per-item rate limiting. The overall is a token bucket and the per-item is exponential(with auto resets)

func NewItemExponentialRateLimiterWithAutoReset

func NewItemExponentialRateLimiterWithAutoReset[T comparable](baseDelay, maxDelay, failureCoolDown time.Duration, backoffFactor float64) workqueue.TypedRateLimiter[T]

Types

type AppControllerRateLimiterConfig

type AppControllerRateLimiterConfig struct {
	BucketSize      int64
	BucketQPS       float64
	FailureCoolDown time.Duration
	BaseDelay       time.Duration
	MaxDelay        time.Duration
	BackoffFactor   float64
}

func GetDefaultAppRateLimiterConfig

func GetDefaultAppRateLimiterConfig() *AppControllerRateLimiterConfig

type ItemExponentialRateLimiterWithAutoReset

type ItemExponentialRateLimiterWithAutoReset[T comparable] struct {
	// contains filtered or unexported fields
}

ItemExponentialRateLimiterWithAutoReset does a simple baseDelay*2^<num-failures> limit dealing with max failures and expiration/resets are up dependent on the cooldown period

func (*ItemExponentialRateLimiterWithAutoReset[T]) Forget

func (r *ItemExponentialRateLimiterWithAutoReset[T]) Forget(item T)

func (*ItemExponentialRateLimiterWithAutoReset[T]) NumRequeues

func (r *ItemExponentialRateLimiterWithAutoReset[T]) NumRequeues(item T) int

func (*ItemExponentialRateLimiterWithAutoReset[T]) When

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL