Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Mickls
Copy link

@Mickls Mickls commented Mar 12, 2022

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

Copy link
Contributor

@Ehco1996 Ehco1996 left a comment

Choose a reason for hiding this comment

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

restLGTM

}
}

func Retry(retryFunc RetryFunc, opt ...Option) error {
Copy link
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?

o(retryConfig)
}
for i := uint(0); i < retryConfig.times; i++ {
err := retryFunc()
Copy link
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