JRuby中Timeout :: timeout的当前状态是什么?它可靠吗?

时间:2011-07-04 03:35:17

标签: timeout jruby

jruby-lint报告使用Timeout :: timeout作为潜在的问题来源:

   ./app/models/xyz.rb:273: [timeout, warning] Timeout in JRuby does not work in many cases

但谷歌搜索该警告似乎表明,所报告的大多数错误已经修复或适用于非常具体的情况。此外,看起来JRuby的Timeout :: timeout的实现比MRI的实现更可靠和高效。是这样吗?

我正在使用它来处理Net :: HTTP请求中的超时,这是一个相当常见的用例,所以我想如果它不起作用我会发现报告的开放错误。我可以忽视jrlint的警告吗?

1 个答案:

答案 0 :(得分:2)

jruby 1.5+中的超时应该比旧版本中的更好,因为它现在在JRuby中本地实现(参见https://github.com/jruby/jruby/commits/master/src/org/jruby/ext/Timeout.java)与旧的ruby实现相比实际上非常糟糕。

查看历史记录,自1.5以来,已经有一些与net / http相关的错误修复,因此请使用1.6+以获得最佳结果。

所以我会说,是的,你可以忽视这个警告。