我有这段代码:
def httpsGet url
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
http.use_ssl = true
request.initialize_http_header({"someHeader" => "82739840273985734"})
http.request(request)
end
我一直在运行一个脚本,过去一周使用它就好了。脚本基本上一次又一次多次调用不同参数的第三方服务。突然,昨天和今天,这种方法似乎有时会悬挂(我在几个地方卡住了puts
)。这很烦人,因为这种方法有时会在100次通话后挂起,有时会有20次通话,有时候会在很长时间后等待...等等。
答案 0 :(得分:1)
查看open_timeout
和ssl_timeout
超时defined for this library:
http = Net::HTTP.new(uri.host, uri.port)
http.open_timeout = 5 # create connection timeout after 5 seconds
http.ssl_timeout = 5 # read timeout after 5 seconds