【问题标题】:Program throwing timeout error程序抛出超时错误
【发布时间】:2014-12-05 08:40:01
【问题描述】:

我不知道是什么原因,但是我的 ruby​​ 程序突然抛出超时错误

/home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `initialize': execution expired (Net::OpenTimeout)
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `open'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `block in connect'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `call'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `timeout'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:878:in `connect'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:852:in `start'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/http.rb:1369:in `request'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/oauth-0.4.7/lib/oauth/consumer.rb:161:in `request'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/oauth-0.4.7/lib/oauth/tokens/consumer_token.rb:25:in `request'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/oauth-0.4.7/lib/oauth/tokens/access_token.rb:12:in `request'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/oauth-0.4.7/lib/oauth/tokens/access_token.rb:27:in `get'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/semantics3-0.04/lib/semantics3.rb:36:in `_make_request'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/semantics3-0.04/lib/semantics3.rb:217:in `run_query'
from /home/mounarajan/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/semantics3-0.04/lib/semantics3.rb:80:in `get_products'
from project.rb:34:in `block (2 levels) in <main>'
from project.rb:31:in `each'
from project.rb:31:in `each_with_index'
from project.rb:31:in `block in <main>'
from project.rb:30:in `open'
from project.rb:30:in `<main>'

请帮我解决这个问题

【问题讨论】:

  • 在有问题的地方发布来自project.rb 的代码。
  • @japed 是代码错误还是由于 api 或互联网问题?
  • 可能,但是在您发布一些代码之前,没有人可以帮助您。

标签: ruby-on-rails ruby api sockets timeout


【解决方案1】:

您访问的 Web 服务是否正常工作?

那么它可能不可用,你只能等到它再次启动。

如果您是第一次开发访问,可能是防火墙阻止了您,或者服务 url 没有正确写入

【讨论】:

  • 我的程序正在运行包含 5000 行的文件。该程序最多可以运行 1700 行,然后它会抛出这样的错误
  • 我不知道你的实现细节。可以肯定的是,在那一刻您正在访问一个已关闭的外部服务......看看您的lib/semantics3.rb:217。如果您每行执行不同的请求,那么您必须猜测哪个服务已关闭。为此,最好在调用它之前记录服务名称
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
相关资源
最近更新 更多