在ruby代码中添加连接超时

在ruby代码中添加连接超时,ruby,Ruby,如何在这个ruby代码中配置连接超时 http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(url) request.basic_auth("user", "pass") 例如,我希望每1秒进行一次连接尝试并打印结果。您可以使用调度程序gem,例如,将任务安排为每秒运行一次 安

如何在这个ruby代码中配置连接超时

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request.basic_auth("user", "pass")

例如,我希望每1秒进行一次连接尝试并打印结果。

您可以使用调度程序gem,例如,将任务安排为每秒运行一次

安装gem

gem install rufus-scheduler
示例代码:

require "net/http"
require 'uri'
require "openssl"
require "rufus-scheduler"

url = URI("https://google.com")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

scheduler = Rufus::Scheduler.singleton

scheduler.every '1s' do 
    p Net::HTTP::get(url)
end

scheduler.join

设置
http。打开\u timeout
http.read\u timeout
。我还可以设置连接尝试并打印每次尝试的次数吗?这将简单地设置超时。如果你想一个接一个地发出连续的请求,你必须在循环中这样做。在上述循环中,您可以计算您的尝试次数。您可以向我展示工作示例吗?请尝试类似于
count=0;循环{response=http.request请求;如果计数>最大重试次数| | |满意?(响应);}
则中断。