Class: KumoDockerCloud::ServiceChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/kumo_dockercloud/service_checker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(checks = [], timeout = 300, quiet_time = 5) ⇒ ServiceChecker

Returns a new instance of ServiceChecker.



5
6
7
8
9
# File 'lib/kumo_dockercloud/service_checker.rb', line 5

def initialize(checks = [], timeout = 300, quiet_time = 5)
  @checks = checks
  @timeout = timeout
  @quiet_time = quiet_time
end

Instance Attribute Details

#checksObject (readonly)

Returns the value of attribute checks.



3
4
5
# File 'lib/kumo_dockercloud/service_checker.rb', line 3

def checks
  @checks
end

#quiet_timeObject (readonly)

Returns the value of attribute quiet_time.



3
4
5
# File 'lib/kumo_dockercloud/service_checker.rb', line 3

def quiet_time
  @quiet_time
end

#timeoutObject (readonly)

Returns the value of attribute timeout.



3
4
5
# File 'lib/kumo_dockercloud/service_checker.rb', line 3

def timeout
  @timeout
end

Instance Method Details

#verify(service) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kumo_dockercloud/service_checker.rb', line 11

def verify(service)
  Timeout::timeout(timeout) do

    while any_check_failing?(service)
      print '.'
      sleep(quiet_time)
    end

  end
rescue Timeout::Error
  raise KumoDockerCloud::ServiceDeployError.new("One or more checks failed to pass within the timeout")
end