2011-07-04 7 views
2

JRubyの-lintはタイムアウトの使用を報告::問題の潜在的な供給源としてタイムアウト:JRubyでの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の警告を無視することはできますか?

答えて

2

JRubyでネイティブに実装されているので、jruby 1.5+でのタイムアウトは以前のバージョンよりもはるかに優れているはずです(https://github.com/jruby/jruby/commits/master/src/org/jruby/ext/Timeout.java参照)。これはかなり壊れていた古いRubyの実装です。

歴史を見ると、net/httpに関連するいくつかのバグフィックスが1.5以降に発生していますので、最良の結果を得るには1.6+を使用してください。

だから、あなたはその警告を無視することができます。

関連する問題