EricKIm ac134e7565 240528-0919-Kim | преди 5 месеца | |
---|---|---|
.. | ||
README.md | преди 5 месеца | |
breaker.go | преди 5 месеца |
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
}
}