我有一系列网址。我正在浏览每一个,发送一个get请求并打印响应代码。以下是代码的一部分:
arr.each do |url|
res = Faraday.get(link.href)
p res.status
end
然而,有时我会到达网址,它会超时并崩溃。有没有办法告诉红宝石“如果我在一定时间内没有收到回复,那么跳到下一个网址?”
答案 0 :(得分:4)
您可以像这样添加超时:
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