lib/bluepill/socket.rb in ra-bluepill-0.0.46 vs lib/bluepill/socket.rb in ra-bluepill-0.0.47

- old
+ new

@@ -1,9 +1,11 @@ require 'socket' module Bluepill module Socket + RETRIES = 5 + @@current_retry = 0 extend self def client(base_dir, name, &b) UNIXSocket.open(socket_path(base_dir, name), &b) @@ -15,10 +17,18 @@ socket.puts command Marshal.load(socket) end end rescue EOFError, Timeout::Error - abort("Socket Timeout: Server may not be responding") + @@current_retry += 1 + puts "Retry #{@@current_retry} of #{RETRIES}" + if @@current_retry <= RETRIES + client_command(base_dir, name, command) + else + abort("Socket Timeout: Server may not be responding") + end + ensure + @@current_retry = 0 end def server(base_dir, name) socket_path = self.socket_path(base_dir, name) begin \ No newline at end of file