1
我有一個網址陣列。我正在通過每一個,發送獲取請求並打印響應代碼。這裏是代碼的一部分:跳過一個HTTP請求,如果響應,如果花太長時間與紅寶石
arr.each do |url|
res = Faraday.get(link.href)
p res.status
end
但有時我得到的URL,它超時和崩潰。有沒有辦法告訴紅寶石:「如果我在一段時間內沒有得到迴應,然後跳到下一個網址?」
我有一個網址陣列。我正在通過每一個,發送獲取請求並打印響應代碼。這裏是代碼的一部分:跳過一個HTTP請求,如果響應,如果花太長時間與紅寶石
arr.each do |url|
res = Faraday.get(link.href)
p res.status
end
但有時我得到的URL,它超時和崩潰。有沒有辦法告訴紅寶石:「如果我在一段時間內沒有得到迴應,然後跳到下一個網址?」
你可以添加一個超時是這樣的:
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
非常感謝你!!!! – josh
看一看http://stackoverflow.com/questions/8098584/faraday-timeout –