ruby-on-rails - view教程 - 创建rails项目




在进行HTTP调用时,在Ruby中经常使用SystemExit (3)

我有一个Ruby on Rails网站,可以对外部Web服务进行HTTP调用。

大约每天一次,我得到一个SystemExit(stacktrace below)错误电子邮件,其中一个调用服务失败。 如果我然后尝试在我的网站上完全相同的查询时间后,它工作正常。 自从网站上线以来,一直在发生,我没有找到导致它的原因的运气。

Ruby是版本1.8.6和rails是版本1.2.6。

任何人都有这个问题?

这是错误和堆栈跟踪。

出现SystemExit /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/fcgi_handler.rb:116:in exit'/usr/local/lib/ruby/gems/1.8/gems/ rails-1.2.6 / lib / fcgi_handler.rb:116:在exit_now_handler'/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/inflector.rb:250:in to_proc '/usr/local/lib/ruby/1.8/net/protocol.rb:133:in'/usr/local/lib/ruby/1.8/net/protocol.rb:133:在sysread'/ usr / local / lib / ruby​​ / 1.8 / net / protocol.rb:133:在rbuf_fill'/usr/local/lib/ruby/1.8/timeout.rb:56:in timeout'/usr/local/lib/ruby/1.8/timeout。 rb:76:in timeout'/usr/local/lib/ruby/1.8/net/protocol.rb:132:in rbuf_fill'/usr/local/lib/ruby/1.8/net/protocol.rb:116:in readuntil '/ usr / local / lib / ruby​​ / 1.8 / net /协议.rb:126: lib / ruby​​ / 1.8 / net / http.rb:2006:in read_new'/usr/local/lib/ruby/1.8/net/http.rb:1047:in''/usr/local/lib/ruby/1.8/ net / http.rb:945:在request_get'/usr/local/lib/ruby/1.8/net/http.rb:380:i n get_response'/usr/local/lib/ruby/1.8/net/http.rb:543:in start'/usr/local/lib/ruby/1.8/net/http.rb:379:in get_response'


在Ruby中使用fcgi被认为是非常麻烦的。

因为这个原因,几乎每个人都已经搬到了Mongrel ,我建议你也这样做。


我也看看乘客 。 比传统的Apache / nginx + Mongrel解决方案要容易得多。


我用FCGI已经有一段时间了,但是如果线程太长,我认为FCGI进程可能会抛出一个SystemExit。 这可能是Web服务没有响应,甚至是一个缓慢的DNS查询。 一些谷歌的结果显示与Python和FCGI类似的错误,所以搬到杂种将是一个好主意。 这篇文章是我的参考,我曾经设置杂种,我仍然参考它。







crash