Documentation ¶
Index ¶
- type Settings
- type TwoStepCircuitBreaker
- type TwoStepCircuitBreakerWithDynamicSettings
- func (c *TwoStepCircuitBreakerWithDynamicSettings) Allow() (done func(success bool), err error)
- func (c *TwoStepCircuitBreakerWithDynamicSettings) Counts() gobreaker.Counts
- func (c *TwoStepCircuitBreakerWithDynamicSettings) Name() string
- func (c *TwoStepCircuitBreakerWithDynamicSettings) State() gobreaker.State
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Settings ¶
type Settings struct { // Function to get the dynamic settings. Accepted keys: // - maxRequests: Maximum number of requests allowed to pass through when // it is in half-open state (default 1). // - interval (seconds): Cyclic period in closed state to clear the internal counts; // if interval is 0, then it never clears the internal counts (default 0). // - timeout (seconds): Period of open state before changing to half-open state (default 60).` SettingsFn func() map[string]any // Min interval time between calls to SettingsFn. If not set or zero, then it defaults // to 1 minute. SettingsEvalInterval time.Duration Name string ReadyToTrip func(counts gobreaker.Counts) bool OnStateChange func(name string, from gobreaker.State, to gobreaker.State) }
type TwoStepCircuitBreaker ¶
type TwoStepCircuitBreakerWithDynamicSettings ¶
type TwoStepCircuitBreakerWithDynamicSettings struct {
// contains filtered or unexported fields
}
TwoStepCircuitBreakerWithDynamicSettings is a wrapper of gobreaker.TwoStepCircuitBreaker that calls the settingsFn everytime the Allow function is called and replaces the circuit breaker if there is a change in the settings object. Note that in this case, the previous state of the circuit breaker is lost.
func NewTwoStepCircuitBreakerWithDynamicSettings ¶
func NewTwoStepCircuitBreakerWithDynamicSettings( settings Settings, ) *TwoStepCircuitBreakerWithDynamicSettings
func (*TwoStepCircuitBreakerWithDynamicSettings) Allow ¶
func (c *TwoStepCircuitBreakerWithDynamicSettings) Allow() (done func(success bool), err error)
func (*TwoStepCircuitBreakerWithDynamicSettings) Counts ¶
func (c *TwoStepCircuitBreakerWithDynamicSettings) Counts() gobreaker.Counts
func (*TwoStepCircuitBreakerWithDynamicSettings) Name ¶
func (c *TwoStepCircuitBreakerWithDynamicSettings) Name() string
func (*TwoStepCircuitBreakerWithDynamicSettings) State ¶
func (c *TwoStepCircuitBreakerWithDynamicSettings) State() gobreaker.State
Click to show internal directories.
Click to hide internal directories.