Class: CI::Queue::CircuitBreaker
- Inherits:
-
Object
- Object
- CI::Queue::CircuitBreaker
- Defined in:
- lib/ci/queue/circuit_breaker.rb
Defined Under Namespace
Modules: Disabled
Instance Method Summary collapse
-
#initialize(max_consecutive_failures:) ⇒ CircuitBreaker
constructor
A new instance of CircuitBreaker.
- #open? ⇒ Boolean
- #report_failure! ⇒ Object
- #report_success! ⇒ Object
Constructor Details
#initialize(max_consecutive_failures:) ⇒ CircuitBreaker
Returns a new instance of CircuitBreaker.
18 19 20 21 |
# File 'lib/ci/queue/circuit_breaker.rb', line 18 def initialize(max_consecutive_failures:) @max = max_consecutive_failures @consecutive_failures = 0 end |
Instance Method Details
#open? ⇒ Boolean
31 32 33 |
# File 'lib/ci/queue/circuit_breaker.rb', line 31 def open? @consecutive_failures >= @max end |
#report_failure! ⇒ Object
23 24 25 |
# File 'lib/ci/queue/circuit_breaker.rb', line 23 def report_failure! @consecutive_failures += 1 end |
#report_success! ⇒ Object
27 28 29 |
# File 'lib/ci/queue/circuit_breaker.rb', line 27 def report_success! @consecutive_failures = 0 end |