Ruby:即使更改,也会达到read_timeout

时间:2018-11-13 16:21:29

标签: ruby api http timeout

从我的Ruby代码中调用API。 在数据很少的测试系统上,它可以正常工作。 在生产系统上它也可以工作,但前提是要传输的数据不多。如果无法获取太多数据:

  

/usr/lib/ruby/2.3.0/net/protocol.rb:158:在rbuf_fill': Net::ReadTimeout (Net::ReadTimeout) from /usr/lib/ruby/2.3.0/net/protocol.rb:136:in中阅读直到       来自/usr/lib/ruby/2.3.0/net/protocol.rb:146:在readline' from /usr/lib/ruby/2.3.0/net/http/response.rb:40:in read_status_line'中       来自/usr/lib/ruby/2.3.0/net/http/response.rb:29:位于transport_request中的read_new' from /usr/lib/ruby/2.3.0/net/http.rb:1437:in块中       来自/usr/lib/ruby/2.3.0/net/http.rb:1434:in catch' from /usr/lib/ruby/2.3.0/net/http.rb:1434:in transport_request'       来自/usr/lib/ruby/2.3.0/net/http.rb:1407:在`request'中

代码中的相关部分似乎是:

http = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :verify_mode => OpenSSL::SSL::VERIFY_NONE, :read_timeout => @timeout)

我将 @timeout 设置为900,而id没有起作用。

有什么想法可以使它工作或如何调试该问题吗?

0 个答案:

没有答案