circuitbreaker

package
v1.25.0-116.3 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

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.
	SettingsFn dynamicconfig.TypedPropertyFn[dynamicconfig.CircuitBreakerSettings]
	// 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 TwoStepCircuitBreaker interface {
	Name() string
	State() gobreaker.State
	Counts() gobreaker.Counts
	Allow() (done func(success bool), err error)
}

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 (*TwoStepCircuitBreakerWithDynamicSettings) Name

func (*TwoStepCircuitBreakerWithDynamicSettings) State

Jump to

Keyboard shortcuts

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