当前位置: 首页 > news >正文

邯郸网站只做wordpress主题预览插件

邯郸网站只做,wordpress主题预览插件,绍兴模板建站代理,外贸公司网站建设需要注意前言 在编写应用程序时#xff0c;有时候会遇到一些短暂的错误#xff0c;例如网络请求、服务链接终端失败等#xff0c;这些错误可能导致函数执行失败。 但是如果稍后执行可能会成功#xff0c;那么在一些业务场景下就需要重试了#xff0c;重试的概念很简单#xff0c…前言 在编写应用程序时有时候会遇到一些短暂的错误例如网络请求、服务链接终端失败等这些错误可能导致函数执行失败。 但是如果稍后执行可能会成功那么在一些业务场景下就需要重试了重试的概念很简单这里就不做过多阐述了 最近也正好在转golang语言重试机制正好可以拿来练手重试功能一般需要支持以下参数 execFunc需要被执行的重试的函数interval重试的间隔时长attempts尝试次数conditionMode重试的条件模式error和bool模式这个参数用于控制传递的执行函数返回值类型检测 代码 package retryimplimport (fmttime )// RetryOptionV2 配置选项函数 type RetryOptionV2 func(retry *RetryV2)// RetryFunc 不带返回值的重试函数 type RetryFunc func() error// RetryFuncWithData 带返回值的重试函数 type RetryFuncWithData func() (any, error)// RetryV2 重试类 type RetryV2 struct {interval time.Duration // 重试的间隔时长attempts int // 重试次数 }// NewRetryV2 构造函数 func NewRetryV2(opts ...RetryOptionV2) *RetryV2 {retry : RetryV2{interval: DefaultInterval,attempts: DefaultAttempts,}for _, opt : range opts {opt(retry)}return retry }// WithIntervalV2 重试的时间间隔配置 func WithIntervalV2(interval time.Duration) RetryOptionV2 {return func(retry *RetryV2) {retry.interval interval} }// WithAttemptsV2 重试的次数 func WithAttemptsV2(attempts int) RetryOptionV2 {return func(retry *RetryV2) {retry.attempts attempts} }// DoV2 对外暴露的执行函数 func (r *RetryV2) DoV2(executeFunc RetryFunc) error {fmt.Println([Retry.DoV2] begin execute func...)retryFuncWithData : func() (any, error) {return nil, executeFunc()}_, err : r.DoV2WithData(retryFuncWithData)return err }// DoV2WithData 对外暴露知的执行函数可以返回数据 func (r *RetryV2) DoV2WithData(execWithDataFunc RetryFuncWithData) (any, error) {fmt.Println([Retry.DoV2WithData] begin execute func...)n : 0for n r.attempts {res, err : execWithDataFunc()if err nil {return res, nil}ntime.Sleep(r.interval)}return nil, nil }测试验证 package retryimplimport (errorsfmttestingtime )// TestRetryV2_DoFunc func TestRetryV2_DoFunc(t *testing.T) {testSuites : []struct {exceptExecCount intactualExecCount int}{{exceptExecCount: 3, actualExecCount: 0},{exceptExecCount: 1, actualExecCount: 1},}for _, testSuite : range testSuites {retry : NewRetryV2(WithAttemptsV2(testSuite.exceptExecCount),WithIntervalV2(1*time.Second),)err : retry.DoV2(func() error {fmt.Println([TestRetry_DoFuncBoolMode] was called ...)if testSuite.exceptExecCount 1 {return nil}testSuite.actualExecCountreturn errors.New(raise error)})if err ! nil {t.Errorf([TestRetryV2_DoFunc] retyr.DoV2 execute failed and err:%v, err)continue}if testSuite.actualExecCount ! testSuite.exceptExecCount {t.Errorf([TestRetryV2_DoFunc] got actualExecCount:%v ! exceptExecCount:%v, testSuite.actualExecCount, testSuite.exceptExecCount)}}}// TestRetryV2_DoFuncWithData func TestRetryV2_DoFuncWithData(t *testing.T) {testSuites : []struct {exceptExecCount intresMessage string}{{exceptExecCount: 3, resMessage: fail},{exceptExecCount: 1, resMessage: ok},}for _, testSuite : range testSuites {retry : NewRetryV2(WithAttemptsV2(testSuite.exceptExecCount),WithIntervalV2(1*time.Second),)res, err : retry.DoV2WithData(func() (any, error) {fmt.Println([TestRetryV2_DoFuncWithData] DoV2WithData was called ...)if testSuite.exceptExecCount 1 {return testSuite.resMessage, nil}return testSuite.resMessage, errors.New(raise error)})if err ! nil {t.Errorf([TestRetryV2_DoFuncWithData] retyr.DoV2 execute failed and err:%v, err)continue}if val, ok : res.(string); ok val ! testSuite.resMessage {t.Errorf([TestRetryV2_DoFuncWithData] got unexcept result:%v, val)continue}t.Logf([TestRetryV2_DoFuncWithData] got result:%v, testSuite.resMessage)}}参考GitCode - 开发者的代码家园
http://www.hkea.cn/news/14346131/

相关文章:

  • 网站功能模块建设做视频导航网站
  • 电商网站设计推荐亿企邦免费主页空间申请网站
  • 网站工期表怎么做山东 网站建设
  • 网站建设跟pc官网一样吗东莞网站推广企业
  • 产品介绍网站模板下载地址长沙有什么好玩的地方适合小孩
  • 金华网站建设系统湖南省建设厅领导一览
  • 个体工商户备案网站备案建网站最专业
  • 各种网站底部图标代码建设网站需要客户提供什么资料
  • 网站如何建设子夜免费观看
  • 如何学习网站开发免费的关键词优化软件
  • 网站空间购买流程网络营销推广与策划课后答案
  • 网站用ps如何做安阳县属于哪个省哪个市
  • 国外免费网站域名服务器查询怎么创建音乐网站
  • 东莞建网站服务网站被采集了 一个栏目不收录
  • 湛江网站建设哪家优惠多网页ui设计教程
  • 山西手机响应式网站建设wps2016怎么做网站
  • 织梦手机端网站怎么做公众号推文模板
  • wp做网站难吗wordpress 产品货号
  • 长春seo网站排名优化wordpress禁用头像
  • 怎么做外贸网站seo做的好看的网站
  • 网站建设怎么让百度搜索到东莞免费建站公司
  • 南京网站建设公司排名海淀做网站哪家公司好
  • 如何设置个人网站浙江省外贸公司排名
  • 织梦网站安装阿里云 wordpress 建站
  • 电商网站的建设背景苏州网站建设制作公司小程序开发
  • 深圳精品网站设计gui设计师
  • 企业网站数防泄露怎么做星月网络公司做的网站
  • 澧县网站建设单位网站建设意义
  • 深圳住房和建设局新网站wordpress上传网页
  • 做一个网站成本大概多少钱有免费制作单页的网站吗