Class: CI::Queue::CircuitBreaker::MaxConsecutiveFailures

Inherits:
Object
  • Object
show all
Defined in:
lib/ci/queue/circuit_breaker.rb

Instance Method Summary collapse

Constructor Details

#initialize(max_consecutive_failures:) ⇒ MaxConsecutiveFailures

Returns a new instance of MaxConsecutiveFailures.



60
61
62
63
# File 'lib/ci/queue/circuit_breaker.rb', line 60

def initialize(max_consecutive_failures:)
  @max = max_consecutive_failures
  @consecutive_failures = 0
end

Instance Method Details

#messageObject



80
81
82
# File 'lib/ci/queue/circuit_breaker.rb', line 80

def message
  'This worker is exiting early because it encountered too many consecutive test failures, probably because of some corrupted state.'
end

#open?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/ci/queue/circuit_breaker.rb', line 76

def open?
  @consecutive_failures >= @max
end

#report_failure!Object



65
66
67
# File 'lib/ci/queue/circuit_breaker.rb', line 65

def report_failure!
  @consecutive_failures += 1
end

#report_requeue!Object



69
70
# File 'lib/ci/queue/circuit_breaker.rb', line 69

def report_requeue!
end

#report_success!Object



72
73
74
# File 'lib/ci/queue/circuit_breaker.rb', line 72

def report_success!
  @consecutive_failures = 0
end