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