1 Star 0 Fork 0

天雨流芳 / go-micro-framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
retryutil.go 715 Bytes
一键复制 编辑 原始数据 按行查看 历史
天雨流芳 提交于 2024-03-19 15:24 . 增加通用文件
package retryutil
import (
"context"
"fmt"
"math"
"time"
)
var RetryAbleErr = fmt.Errorf("retry")
var TimeoutErr = fmt.Errorf("timeout")
func RetryUntilTimeout(ctx *context.Context, interval time.Duration, timeout time.Duration, do func() error) error {
err := do()
if err == nil {
return nil
}
if err != RetryAbleErr {
return err
}
if timeout == 0 {
timeout = time.Duration(math.MaxInt64)
}
//t := time.NewTimer(timeout)
for {
//select {
//case <-ctx.Done():
// return ctx.Err()
//case <-t.C:
// return TimeoutErr
//case <-time.After(interval):
// err := do()
// if err == nil {
// return nil
// }
//
// if err != RetryAbleErr {
// return err
// }
//}
}
}
1
https://gitee.com/tylf2018/go-micro-framework.git
git@gitee.com:tylf2018/go-micro-framework.git
tylf2018
go-micro-framework
go-micro-framework
a23f37e8bd2b

搜索帮助

53164aa7 5694891 3bd8fe86 5694891