Evan Huus a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
..
README.md a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
backoffs.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
backoffs_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
classifier.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
classifier_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
retrier.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan
retrier_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 år sedan

README.md

retrier

Build Status GoDoc

The retriable resiliency pattern for golang.

Creating a retrier takes two parameters:

  • the times to back-off between retries (and implicitly the number of times to retry)
  • the classifier that determines which errors to retry
r := retrier.New(retrier.ConstantBackoff(3, 100*time.Millisecond), nil)

err := r.Run(func() error {
	// do some work
	return nil
})

if err != nil {
	// handle the case where the work failed three times
}