retry.go 499 B

12345678910111213141516171819
  1. package retry
  2. import "time"
  3. const (
  4. // DefaultMaxDelay 默认最大等待时间
  5. DefaultMaxDelay = 20 * time.Second
  6. // DefaultBaseDelay 默认基础等待时间
  7. DefaultBaseDelay = 200 * time.Millisecond
  8. // DefaultRandomMinDelay 默认随机最小等待时间
  9. DefaultRandomMinDelay = 0
  10. // DefaultRandomMaxDelay 默认随机最大等待时间
  11. DefaultRandomMaxDelay = 200 * time.Millisecond
  12. )
  13. // RetryRule 重试等待规则
  14. type RetryRule interface {
  15. GetDelay(attempts int) time.Duration
  16. }