INNER CODE UNIT · Go
retry
tducasse/go-instabot · util.go:189
func retry(maxAttempts int, sleep time.Duration, function func() error) (err error) {
for currentAttempt := 0; currentAttempt < maxAttempts; currentAttempt++ {
err = function()
if err == nil {
return
}
for i := 0; i <= currentAttempt; i++ {
time.Sleep(sleep)
}
log.Println("Retrying after error:", err)
}
send(fmt.Sprintf("The script has stopped due to an unrecoverable error :\n%s", err), false)
return fmt.Errorf("After %d attempts, last error: %s", maxAttempts, err)
}
// Builds the line for the report and prints it
func buildLine() {