Class: CI::Queue::CircuitBreaker::MaxConsecutiveRequeues
- Inherits:
-
Object
- Object
- CI::Queue::CircuitBreaker::MaxConsecutiveRequeues
- Defined in:
- lib/ci/queue/circuit_breaker.rb
Instance Method Summary collapse
-
#initialize(max_consecutive_requeues:) ⇒ MaxConsecutiveRequeues
constructor
A new instance of MaxConsecutiveRequeues.
- #message ⇒ Object
- #open? ⇒ Boolean
- #report_failure! ⇒ Object
- #report_requeue! ⇒ Object
- #report_success! ⇒ Object
Constructor Details
#initialize(max_consecutive_requeues:) ⇒ MaxConsecutiveRequeues
Returns a new instance of MaxConsecutiveRequeues.
86 87 88 89 |
# File 'lib/ci/queue/circuit_breaker.rb', line 86 def initialize(max_consecutive_requeues:) @max = max_consecutive_requeues @consecutive_requeues = 0 end |
Instance Method Details
#message ⇒ Object
107 108 109 |
# File 'lib/ci/queue/circuit_breaker.rb', line 107 def 'This worker is exiting early because it requeued too many consecutive tests, probably because of some corrupted state.' end |
#open? ⇒ Boolean
103 104 105 |
# File 'lib/ci/queue/circuit_breaker.rb', line 103 def open? @consecutive_requeues >= @max end |
#report_failure! ⇒ Object
91 92 93 |
# File 'lib/ci/queue/circuit_breaker.rb', line 91 def report_failure! @consecutive_requeues = 0 end |
#report_requeue! ⇒ Object
95 96 97 |
# File 'lib/ci/queue/circuit_breaker.rb', line 95 def report_requeue! @consecutive_requeues += 1 end |
#report_success! ⇒ Object
99 100 101 |
# File 'lib/ci/queue/circuit_breaker.rb', line 99 def report_success! @consecutive_requeues = 0 end |