8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/foodtaster/client.rb', line 8
def self.connect(drb_port, server_process = nil)
attempt_index = 1
begin
sleep 0.2
client = Foodtaster::Client.new(drb_port)
rescue DRb::DRbConnError => e
Foodtaster.logger.debug "DRb connection failed (attempt #{attempt_index}/#{MAX_ATTEMPTS}): #{e.message}"
attempt_index += 1
retry if attempt_index <= MAX_ATTEMPTS && (server_process.nil? || server_process.alive?)
end
if client
Foodtaster.logger.debug "DRb connection established"
else
Foodtaster.logger.debug "Can't connect to Foodtaster DRb Server"
end
client
end
|