mirror of
https://github.com/davegallant/vpngate.git
synced 2025-08-06 08:43:40 +00:00
19 lines
348 B
Go
19 lines
348 B
Go
package util
|
|
|
|
import (
|
|
"time"
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
func Retry(attempts int, delay time.Duration,fn func() error) error {
|
|
var err error
|
|
for i := 0; i < attempts; i++ {
|
|
if err = fn(); err == nil {
|
|
return nil
|
|
}
|
|
log.Error().Msgf("Retrying after %d seconds. An error occured: %s", delay, err)
|
|
time.Sleep(delay)
|
|
}
|
|
return err
|
|
}
|