Каков текущий статус Timeout :: timeout в JRuby?Это надежно? - PullRequest
2 голосов
/ 04 июля 2011

jruby-lint сообщает об использовании Timeout :: timeout в качестве потенциального источника проблем:

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

Но поиск в этом предупреждении, похоже, показывает, что большинство обнаруженных ошибок уже исправлено или относится к очень конкретным случаям. Более того, похоже, что реализация Timeout :: timeout в JRuby более надежна и эффективна, чем реализация MRI. Это так?

Я использую его для обработки таймаутов в запросах Net :: HTTP, что является довольно распространенным случаем, поэтому я предполагаю, что если это не сработает, я обнаружу открытые ошибки. Могу ли я игнорировать предупреждение Джрлинта?

1 Ответ

2 голосов
/ 05 июля 2011
Тайм-аут

в jruby 1.5+ должен быть намного лучше, чем в более старых версиях, поскольку теперь он реализован изначально в JRuby (см. https://github.com/jruby/jruby/commits/master/src/org/jruby/ext/Timeout.java) по сравнению со старой реализацией ruby, которая действительно была довольно сломанной.

Если посмотреть историю, с версии 1.5 было исправлено несколько ошибок, связанных с net / http, поэтому для достижения наилучших результатов используйте 1.6+.

Так что я бы сказал, да, вы можете игнорировать это предупреждение.

...