Class: CI::Queue::CircuitBreaker::MaxConsecutiveFailures
- Inherits:
-
Object
- Object
- CI::Queue::CircuitBreaker::MaxConsecutiveFailures
- Defined in:
- lib/ci/queue/circuit_breaker.rb
Instance Method Summary collapse
-
#initialize(max_consecutive_failures:) ⇒ MaxConsecutiveFailures
constructor
A new instance of MaxConsecutiveFailures.
- #message ⇒ Object
- #open? ⇒ Boolean
- #report_failure! ⇒ Object
- #report_requeue! ⇒ Object
- #report_success! ⇒ Object
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
#message ⇒ Object
80 81 82 |
# File 'lib/ci/queue/circuit_breaker.rb', line 80 def 'This worker is exiting early because it encountered too many consecutive test failures, probably because of some corrupted state.' end |
#open? ⇒ 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 |