lib/perus/pinger/chrome_command.rb in perus-0.1.22 vs lib/perus/pinger/chrome_command.rb in perus-0.1.23
- old
+ new
@@ -14,12 +14,21 @@
@ws.send(command)
end
def execute(commands, &message_callback)
# discover the first page shown in chrome
- pages = JSON.parse(RestClient.get("http://#{options.host}:#{options.port}/json"))
- pages.reject! {|page| page['url'].include?('chrome-extension')}
- @page = pages.first
+ tries = 0
+ @page = nil
+ begin
+ pages = JSON.parse(RestClient.get("http://#{options.host}:#{options.port}/json"))
+ pages.reject! {|page| page['url'].include?('chrome-extension')}
+ @page = pages.first
+ rescue Errno::ECONNREFUSED, Errno::ECONNRESET => e
+ tries += 1
+ sleep 3
+ retry if tries < 4
+ return
+ end
EM.run do
@ws = Faye::WebSocket::Client.new(@page['webSocketDebuggerUrl'])
@ws.on :error do |event|