Class TCPSocket
In: lib/tcp_socket_extension.rb
Parent: Object

Methods

Public Class methods

[Source]

    # File lib/tcp_socket_extension.rb, line 6
 6:   def self.wait_for_service(options)
 7:     socket = nil
 8:     Timeout::timeout(options[:timeout] || 20) do
 9:       loop do
10:         begin
11:           socket = TCPSocket.new(options[:host], options[:port])
12:           return
13:         rescue Errno::ECONNREFUSED
14:           puts ".\n"
15:           sleep 2
16:         end
17:       end
18:     end
19:   ensure
20:     socket.close unless socket.nil?
21:   end

[Validate]