goresilience icon indicating copy to clipboard operation
goresilience copied to clipboard

A library to improve the resilience of Go applications in an easy and flexible way

Results 11 goresilience issues
Sort by recently updated
recently updated
newest added

`Execute` should release the caller when the context has been cancelled or its deadline has exceeded. Otherwise, it holds the caller longer than necessary, and it gives a token/spot to...

In `timeout.go`, context cancellation isn't check for when running the command goroutine. This causes the `errc

Is there a particular reason for not allowing retry times to be set to zero to completely disable retry? ` if c.Times

that includes the fix for `ErrorPercentThresholdToOpen` (https://github.com/slok/goresilience/commit/498289a4f24ce19fb4b7ddba69680d9ab963f1b0) Thanks.

Fixes #31 @slok this changeset just handles the context cancellation within the retry middleware as there's no current way for client code to exit out until the retry attempts are...

The retry middleware will continue to retry even in the event of the context being cancelled. ``` r := retry.New(retry.Config{ Times: math.MaxInt32 }) ctx, cancel := context.WithCancel(context.TODO()) cancel() // context...

Context: -------- Previously the first exponent used to calculate the first waiting time when retrying using the expoential backoff algorithm with full jitter was 1, i.e. `2**1` was used instead...

### description usually, we create a runnerChain once in a service and execute the same runnerChain by providing different execution logics. they mostly runs parallely which can leads to race...

- In [cenkalti/backoff](https://github.com/cenkalti/backoff), it is implemented using a [`PermanentError`](https://pkg.go.dev/github.com/cenkalti/backoff/v4#Permanent) type. - In [avast/retry-go](https://github.com/avast/retry-go), it is implemented using the [`RetryIf`](https://pkg.go.dev/github.com/avast/retry-go#RetryIf) function and the [`Unrecoverable`](https://pkg.go.dev/github.com/avast/retry-go#Unrecoverable) type.