Class: CI::Queue::CircuitBreaker

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

Defined Under Namespace

Modules: Disabled

Instance Method Summary collapse

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

Returns:

  • (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