Documentation
¶
Overview ¶
Package backoff provides strategies for retrying operations with exponential backoff.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultConfig = Config{ BaseDelay: 1.0 * time.Second, Multiplier: 1.6, Jitter: 0.2, MaxDelay: 120 * time.Second, }
DefaultConfig defines the default configuration for backoff.
View Source
var DefaultExponential = Exponential{Config: DefaultConfig}
DefaultExponential defines the default exponential backoff strategy.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// BaseDelay is the amount of time to backoff after the first failure.
BaseDelay time.Duration `mapstructure:"baseDelay" default:"1s"`
// Multiplier is the factor with which to multiply backoffs after a
// failed retry. Should ideally be greater than 1.
Multiplier float64 `mapstructure:"multiplier" default:"1.6"`
// Jitter is the factor with which backoffs are randomized.
Jitter float64 `mapstructure:"jitter" default:"0.2"`
// MaxDelay is the upper bound of backoff delay.
MaxDelay time.Duration `mapstructure:"maxDelay" default:"2m"`
}
Config defines the configuration options for backoff.
type Exponential ¶
type Exponential struct {
// Config contains all options to configure the backoff algorithm.
Config Config
}
Exponential implements an exponential backoff strategy.
Click to show internal directories.
Click to hide internal directories.