首页 > 其他分享 >go 重试机制

go 重试机制

时间:2022-08-18 20:11:16浏览次数:42  
标签:index fmt 重试 Println bool func go 机制

package main

import (
"fmt"
"time"
)

var RetryFlag chan bool = make(chan bool)
func main() {
Retry(test,[]int{3,5,10})
}
//重试次数
func Retry(f func()bool,rules[]int) {
fmt.Println("========>>进入重试机制======>")
index := 0
for {
go time.AfterFunc(time.Duration(rules[index])*time.Second, func() {
fmt.Println("========>执行重试方法=========>")
RetryFlag <-f()
})
if <- RetryFlag {
fmt.Println("======>重试成功=======>")
return
}
if index == len(rules) - 1 {
fmt.Println("======>达到最大重试次数=====>")
return
}
index ++
}
}

func test() bool {
return false
}

标签:index,fmt,重试,Println,bool,func,go,机制
From: https://www.cnblogs.com/paulversion/p/16599950.html

相关文章

  • redis-golang strings 操作
    本文来自于  github.com/go-redis/redis/v9的自带的测试代码commands_test1、Append(ctxcontext.Context,key,valuestring)//如果不存在key,就将keyval......
  • http配置文件说明--站点访问控制常见机制
    8、站点访问控制常见机制可基于两种机制指明对哪些资源进行何种访问控制访问控制机制有两种:客户端来源地址,用户账号文件系统路径: <Directory“/path">...</Directo......
  • go template语法
    gotemplate模板的语法当前对象{{.}}表示当前对象,当前对象针对于作用域而言例子1:当前传入字符串对象,{{.}}直接表示字符串这里的{{.}}就是传入的helloworld......
  • 使用go,读取指定文件,并输出到终端
    使用go,读取指定文件,并输出到终端packagemainimport( "bufio" "flag" "fmt" "io" "os")funcmain(){ varpathstring flag.StringVar(&path,"f","",......
  • 玉米转录组的KEGG和GO富集分析
    目录1.GO富集使用orgDb在线shiny2.KEGG富集1.GO富集使用orgDb通过使用Bioconductor的AnnotationHub在线检索并抓取OrgDb。非模式基因GO富集分析:以玉米为例+使用OrgDb......
  • 解析PHP中常见的mongodb查询操作_PHP教程
    //栏位字串为$querys=array("name"=>"shian");//数值等于多少$querys=array("number"=>7);//数值大于多少$querys=array("number"=>array('$gt'=>5));//数值大......
  • 从XXE漏洞修复引起Not supported: http://javax.xml.XMLConstants/property/accessExt
    引子 在使用Fortify扫描时代码报XMLExternalEntityInjection,此漏洞为xml实体注入漏洞,XXE攻击可利用在处理时动态构建文档的XML功能。修复方案也包含了增加安全......
  • mongodb 安装配置
    环境准备#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)vim/etc/security/limits.conf*softnproc655350*hardnproc655350*softnofile6......
  • Go - Beego 初体验
    安装好Beego和Bee之后,开始了项目的体验;创建了目录BeegoDemo,然后VSCode打开了目录进行了初始化gomodinit beegodemo然后执行beenewquickstart, 帮我创建好了......
  • 17 Djaogo日期归档查询方式
    Django提供了一种方式:日期归档查询方式如果以后遇到,要用某年某月分组的话,那么可以使用Django提供的方式:#fromdjango.db.models.functionsimportTruncMonth,TruncDay......