module OnContainer::Ops::ServiceConnectionChecks
Public Instance Methods
service_accepts_connections?(service_uri, seconds_to_wait = 30)
click to toggle source
# File lib/on_container/ops/service_connection_checks.rb, line 10 def service_accepts_connections?(service_uri, seconds_to_wait = 30) uri = URI(service_uri) Timeout::timeout(seconds_to_wait) do TCPSocket.new(uri.host, uri.port).close rescue Errno::ECONNREFUSED retry end true rescue => e puts "Connection to #{uri.to_s} failed: '#{e.inspect}'" end
wait_for_service_to_accept_connections(service_uri, seconds_to_wait = 30, exit_on_fail = true)
click to toggle source
# File lib/on_container/ops/service_connection_checks.rb, line 25 def wait_for_service_to_accept_connections(service_uri, seconds_to_wait = 30, exit_on_fail = true) wait_loop = Thread.new do loop do sleep(5) puts "Waiting for #{service_uri} to accept connections..." end end if service_accepts_connections?(service_uri, seconds_to_wait) return wait_loop.exit else exit 1 if exit_on_fail end end