2011-07-04 27 views
2

JRuby的皮棉報告中使用超時::超時的問題的潛在來源:JRuby中Timeout :: timeout的當前狀態是什麼?它可靠嗎?

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

但谷歌搜索的警告似乎表明,大多數報告的bug已經被固定或適用於非常特殊的情況。而且,看起來JRuby的Timeout :: timeout實現比MRI的實現更可靠和高效。是這樣嗎?我使用它來處理在Net :: HTTP請求中的超時,這是一個相當常見的用例,所以我猜如果它不起作用,我會發現報告的開放的錯誤。我可以忽略jrlint的警告嗎?

回答

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+以獲得最佳結果。

所以我會說,是的,你可以忽略這個警告。