retry

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustRetry

func MustRetry(action Action, strategies ...Strategy)

MustRetry 根据尝试策略执行具体的行为函数, 当执行成功时,会终止尝试,或因为尝试策略结果影响提早终止尝试

func Retry

func Retry(action Action, strategies ...Strategy) error

Retry 根据尝试策略执行具体的行为函数, 当执行成功时,会终止尝试,或因为尝试策略结果影响提早终止尝试

Types

type Action

type Action func(attempt uint) error

Action 具体的行为函数

type Strategy

type Strategy func(attempt uint) bool

Strategy 尝试策略函数,在每次尝试进行前调用

func Delay

func Delay(duration time.Duration) Strategy

Delay 延迟尝试策略,第一次尝试将在等待给定的持续时间(存在细微偏差)后进行

func Fail

func Fail(attemptLimit uint, failAction Action) Strategy

Fail 失败策略,每达到一定尝试次数执行

与 Limit 策略组合使用时,请确保该策略在 Limit 策略之前,且 attemptLimit 小于等于 Limit 策略的 attemptLimit, 否则可能因为 Limit 策略提早终止尝试而无法执行该策略

func FailLimit

func FailLimit(attemptLimit uint, failAction Action) Strategy

FailLimit 失败尝试策略,达到一定尝试次数执行预先指定的失败方法并退出

使用该策略时,不需要再使用 Limit 策略和 Fail 策略

func Limit

func Limit(attemptLimit uint) Strategy

Limit 限制尝试策略,限制整个执行过程的尝试次数

func Wait

func Wait(durations ...time.Duration) Strategy

Wait 等待尝试策略,在每次尝试后等待给定的持续时间(存在细微偏差), 如果尝试次数大于持续时间列表的长度,则使用最后的持续时间

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL