tile38/vendor/github.com/eapache/go-resiliency/retrier
Josh Baker 26d0083faf Update vendoring to use golang/dep
commit a1a37d335a8e89ac89d85c00c8585d3fc02e064a
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:36:54 2017 -0700

    use symlink instead of copy

commit 96399c2c92620f633611c778e5473200bfd48d41
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:19:26 2017 -0700

    use dep for vendoring
2017-10-05 07:40:19 -07:00
..
README.md Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
backoffs.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
backoffs_test.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
classifier.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
classifier_test.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
retrier.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00
retrier_test.go Update vendoring to use golang/dep 2017-10-05 07:40:19 -07:00

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
}