Проблема с сетью Ruby в Windows - PullRequest
0 голосов
/ 07 октября 2008

Я использую Windows XP с уровнем исправления ruby ​​1.8.6 111. Я использую HTTP для подключения к удаленному серверу, и он работает нормально. Внезапно он начал проходить через исключение, перечисленное ниже (я не менял код с тех пор, как последний раз успешно его запускал). Кто-нибудь знает, что происходит?

c:/ruby/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill': execution expired (Timeout::E
rror)  
        from c:/ruby/lib/ruby/1.8/timeout.rb:56:in `timeout'  
        from c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'  
        from c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'  
        from c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'  
        from c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in `readline'  
        from c:/ruby/lib/ruby/1.8/net/http.rb:2029:in `read_status_line'  
        from c:/ruby/lib/ruby/1.8/net/http.rb:2018:in `read_new'  
        from c:/ruby/lib/ruby/1.8/net/http.rb:1059:in `request'  
         ... 19 levels...  
        from c:/ruby/lib/ruby/1.8/test/unit/autorunner.rb:216:in `run'  
        from c:/ruby/lib/ruby/1.8/test/unit/autorunner.rb:12:in `run'  
        from c:/ruby/lib/ruby/1.8/test/unit.rb:278  
        from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
.rb:5  
rake aborted!  
Command failed with status (3): [c:/ruby/bin/ruby -Ilib;test "c:/ruby/lib/r...]

Ответы [ 3 ]

1 голос
/ 07 октября 2008

Может быть удаленный хост отключен? Или между вашей машиной и удаленным хостом установлен новый брандмауэр?

«Тайм-аут :: Ошибка» обычно указывает на это направление.

0 голосов
/ 20 февраля 2011

Это может быть связано с этой известной ошибкой Ruby, когда Timeout :: Error не подкласс исключений. (исправлено в 1.9.2 я считаю)

http://lindsaar.net/2007/12/9/rbuf_filltimeout-error

Это может быть исправлено путем спасения из Timeout :: Error вроде rescue Timeout::Error => e

0 голосов
/ 07 октября 2008

Помимо очевидного (брандмауэр, вы попали в черный список за плохой пользовательский агент или игнорируя robots.txt), вы можете попробовать curl

http://curl.haxx.se/libcurl/ruby/

ИЛИ увеличить время ожидания net / http, скажем, 30+ секунд

http://groups.google.com/group/rubyonrails-talk/msg/cc89e8ae6703d6fb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...