Evan Huus a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
..
README.md a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
backoffs.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
backoffs_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
classifier.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
classifier_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
retrier.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago
retrier_test.go a5cb3f2b7d Implement the retriable resiliency pattern 11 years ago

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
}