EricKIm ac134e7565 240528-0919-Kim | 6 месяцев назад | |
---|---|---|
.. | ||
README.md | 6 месяцев назад | |
breaker.go | 6 месяцев назад |
The circuit-breaker resiliency pattern for golang.
Creating a breaker takes three parameters:
timeout (how long to keep the breaker open)
b := breaker.New(3, 1, 5*time.Second)
for {
result := b.Run(func() error {
// communicate with some external service and
// return an error if the communication failed
return nil
})
switch result {
case nil:
// success!
case breaker.ErrBreakerOpen:
// our function wasn't run because the breaker was open
default:
// some other error
}
}