我正在通过HTTP调用外部API,这需要30秒才能提供响应。当我运行它时,虽然API调用成功完成(远程服务执行它应该做的事情),但我的Ruby在收到“OK”响应之前会收到超时错误。我收到这个错误:
/Users/chris/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)
有没有办法可以给它更多的时间,以便它可以干净地处理响应?
答案 0 :(得分:1)
http = Net::HTTP.new(@host, @port)
http.read_timeout = 500
来源:http://ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTP.html#method-i-read_timeout-3D