Ruby - 为缓慢的API调用延长超时

时间:2014-03-04 01:27:55

标签: ruby-on-rails ruby

我正在通过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)

有没有办法可以给它更多的时间,以便它可以干净地处理响应?

1 个答案:

答案 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