18 lines
249 B
Go
18 lines
249 B
Go
package reconcile
|
|
|
|
import "time"
|
|
|
|
func Backoff(failures int) time.Duration {
|
|
if failures <= 1 {
|
|
return time.Second
|
|
}
|
|
d := time.Second
|
|
for i := 1; i < failures; i++ {
|
|
if d >= 30*time.Second {
|
|
return time.Minute
|
|
}
|
|
d *= 2
|
|
}
|
|
return d
|
|
}
|