1package main23import "time"45// retry calls fn up to n times, sleeping between attempts.6func retry(n int, delay time.Duration, fn func() error) error {7 var err error8 for i := 0; i < n; i++ {9 if err = fn(); err == nil {10 return nil11 }12 time.Sleep(delay)13 }14 return err15}