2015-08-23 69 views
1

我有一個網址陣列。我正在通過每一個,發送獲取請求並打印響應代碼。這裏是代碼的一部分:跳過一個HTTP請求,如果響應,如果花太長時間與紅寶石

arr.each do |url| 
    res = Faraday.get(link.href) 
    p res.status 
end 

但有時我得到的URL,它超時和崩潰。有沒有辦法告訴紅寶石:「如果我在一段時間內沒有得到迴應,然後跳到下一個網址?」

+0

看一看http://stackoverflow.com/questions/8098584/faraday-timeout –

回答

3

你可以添加一個超時是這樣的:

require 'timeout' 

arr.each do |url| 
    begin 
    Timeout.timeout(5) do # a timeout of five seconds 
     res = Faraday.get(link.href) 
     p res.status 
    end 
    rescue Timeout::Error 
    # handle error: show user a message? 
    end 
end 
+0

非常感謝你!!!! – josh