在连接尝试之后设置的超时无法缩短已经发生的尝试。先构建 Net::HTTP 实例,设置其超时,然后再启动它。

http = Net::HTTP.new('example.com', 443,
                     '203.0.113.10', 8080)
http.use_ssl = true
http.open_timeout = 5
http.read_timeout = 10
http.start do |session|
  response = session.get('/')
end

先选择预期的 HTTP 端点;HTTP 代理列表为获准的公开请求提供候选。这些数字是示例限制,并非适用于所有工作负载的建议。建立连接与随后的读取有不同的等待时间。读取超时并不是执行多个请求或持续重试的任务的总截止时间。

请使用你所部署的 Ruby 版本的超时文档,包括在相关情况下的写入和 TLS 专用设置。使用 Net::HTTP::Proxy 的旧示例可能先构建一个配置了代理的类;真正重要的值仍然属于执行工作的那个实例。

相关文章