Documentation ¶
Index ¶
- func NewCustomAppControllerRateLimiter(cfg *AppControllerRateLimiterConfig) workqueue.RateLimiter
- func NewItemExponentialRateLimiterWithAutoReset(baseDelay, maxDelay, failureCoolDown time.Duration, backoffFactor float64) workqueue.RateLimiter
- type AppControllerRateLimiterConfig
- type ItemExponentialRateLimiterWithAutoReset
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCustomAppControllerRateLimiter ¶
func NewCustomAppControllerRateLimiter(cfg *AppControllerRateLimiterConfig) workqueue.RateLimiter
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(baseDelay, maxDelay, failureCoolDown time.Duration, backoffFactor float64) workqueue.RateLimiter
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 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) Forget ¶
func (r *ItemExponentialRateLimiterWithAutoReset) Forget(item interface{})
func (*ItemExponentialRateLimiterWithAutoReset) NumRequeues ¶
func (r *ItemExponentialRateLimiterWithAutoReset) NumRequeues(item interface{}) int
func (*ItemExponentialRateLimiterWithAutoReset) When ¶
func (r *ItemExponentialRateLimiterWithAutoReset) When(item interface{}) time.Duration
Click to show internal directories.
Click to hide internal directories.