我正在尝试创建一个可以按以下方式工作的功能:
我已经尝试调试重试函数有一段时间了,但它不起作用,并且在第一次重试后基本上停止了(即使我将尝试次数指定为 100)。我可以做什么来确保它不断重试拉取记录?
代码如下:
// RETRY FUNCTION
func retry(attempts int, sleep time.Duration, f func() error) (err error) {
for i := 0; ; i++ {
err = f()
if err == nil {
return
}
if i >= (attempts - 1) {
break
}
time.Sleep(sleep)
sleep *= 2
log.Println("retrying after error:", err)
}
return fmt.Errorf("after %d attempts, last error: %s", attempts, err) }
//Save Data function
type Records struct { …Run Code Online (Sandbox Code Playgroud)