2017-05-03 9 views
0

このルビコードでどのように接続タイムアウトを設定できますか?ルビコードで接続タイムアウトを追加する

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秒ごとに接続試行して結果を印刷したいと思います。

+0

設定 'http.open_timeout'と' http.read_timeout'を。 – ndn

+0

接続の試行回数を設定し、試行回数を印刷することはできますか? –

+1

これは単にタイムアウトを設定します。連続した要求を1つずつ繰り返したい場合は、ループ内でそれを行う必要があります。このループでは、あなたの試行を数えることができます。 – ndn

答えて

0

Rufus Schedulerなどのスケジューラの宝石を使用して、毎秒実行するタスクをスケジュールすることができます。

宝石

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