Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func retry(attempts int, sleep time.Duration, fn func() error) error {
- if err := fn(); err != nil {
- if _, ok := err.(stop); ok {
- return err
- }
- if attempts--; attempts > 0 {
- time.Sleep(sleep)
- return retry(attempts, 2*sleep, fn)
- }
- return err
- }
- return nil
- }
- type stop struct {
- error
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement