Skip to content

feat: 新增函数重试方法,自定义重试次数和延迟重试时间#13

Open
Mickls wants to merge 1 commit into
zaihui:masterfrom
Mickls:jc
Open

feat: 新增函数重试方法,自定义重试次数和延迟重试时间#13
Mickls wants to merge 1 commit into
zaihui:masterfrom
Mickls:jc

Conversation

@Mickls

@Mickls Mickls commented Mar 12, 2022

Copy link
Copy Markdown

接入多平台业务时总会遇到一些需要重试的操作,这个commit实现了简单的函数重试逻辑

@Ehco1996 Ehco1996 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restLGTM

Comment thread retry.go
}
}

func Retry(retryFunc RetryFunc, opt ...Option) error {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems that use a ctx param is more straightforward than use aContext option?

Comment thread retry.go
o(retryConfig)
}
for i := uint(0); i < retryConfig.times; i++ {
err := retryFunc()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe also add a func shouldRetry(err) to check if this the current scene is ready for retry, not all funcs are idempotent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants