rails 스스로 시간을 정하고 시간 이상을 던지다

1742 단어 Rails
1. 던지기 시간 이상
 
begin     
     resp, body=3Dh.get('/index.html')     
     puts body     
rescue Timeout::Error => e 
       puts "Timed Out"     
end   

 
 
2. 스스로 시간을 정하고 시간 이상을 던진다
 
require 'timeout'
...
...
...
begin     
  timeout(60) do     
     resp, body=3Dh.get('/index.html')     
     puts body     
  end     
rescue TimeoutError     
       puts "Timed Out"     
end   

 
 
3.http 요청 시 시간 이상 던지기
require 'net/http'
require 'net/https'
#Usage: username pass urlStr time_out
#

    urlStr = 'http://localhost:3000/cron/cron'
    username = "badname"
    pass = "badpass"
    time_out = 60

    if ARGV[3] != nil
     time_out = ARGV[3].to_i
    end

    if ARGV[2] != nil
     urlStr = ARGV[2]
    end
    
    if ARGV[1] != nil and ARGV[0] != nil
     username = ARGV[0]
     pass = ARGV[1]
    end
    puts urlStr + " user: "+username
    
    url = URI.parse(urlStr)
    use_ssl = url.scheme == 'https'
    req = Net::HTTP::Get.new url.path
    req.basic_auth username, pass
 
    http = Net::HTTP.new(url.host, url.port)
    http.read_timeout=time_out
    if use_ssl
      http.use_ssl = true
    end
    res = http.start { |web| 
      web.request(req) 
    }
    
    puts res.body

좋은 웹페이지 즐겨찾기