fixed_retry.go 487 B

1234567891011121314151617181920212223242526
  1. package retry
  2. import (
  3. "time"
  4. )
  5. // FixedRetryRule 固定等待时间重试规则
  6. type FixedRetryRule struct {
  7. baseDelay time.Duration // 基础等待时间
  8. }
  9. var DefaultFixedRetryRule = NewFixedRetryRule(DefaultBaseDelay)
  10. func NewFixedRetryRule(baseDelay time.Duration) FixedRetryRule {
  11. if baseDelay < 0 {
  12. baseDelay = DefaultBaseDelay
  13. }
  14. return FixedRetryRule{
  15. baseDelay: baseDelay,
  16. }
  17. }
  18. func (r FixedRetryRule) GetDelay(attempts int) time.Duration {
  19. return r.baseDelay
  20. }