diff options
Diffstat (limited to 'weed/util/retry.go')
| -rw-r--r-- | weed/util/retry.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/util/retry.go b/weed/util/retry.go index 997fa5d13..cdc020b7a 100644 --- a/weed/util/retry.go +++ b/weed/util/retry.go @@ -57,7 +57,8 @@ func MultiRetry(name string, errList []string, job func() error) (err error) { return err } -func RetryForever(name string, job func() error, onErrFn func(err error) (shouldContinue bool)) { +// RetryUntil retries until the job returns no error or onErrFn returns false +func RetryUntil(name string, job func() error, onErrFn func(err error) (shouldContinue bool)) { waitTime := time.Second for { err := job() @@ -74,6 +75,8 @@ func RetryForever(name string, job func() error, onErrFn func(err error) (should waitTime += waitTime / 2 } continue + } else { + break } } } |
