Tag: 错误

Rails:Phusion Passenger和I18n.locale应该如何表现?

我在Passenger / REE上运行了一个Rails 2.2 Web应用程序 我在config/environment.rb设置了默认语言config/environment.rb config.i18n.default_locale = ‘en-GB’ 第一个请求似乎没有在I18n.locale设置区域设置 如果我访问一个带有before_filter的页面,该页面在每次后续访问任何控制器时设置I18n.locale,即使它没有相同的before_filter设置,I18n.locale也会获得I18n.locale,无论设置如何,例如, en-US 。 在具有相同代码的Mongrel上,每个请求都获得en-GB的语言环境,默认情况下,直到由before_filter显式设置。 如果这是正常的乘客行为,任何帮助升值锻炼。

Errno :: ECONNRESET:使用rest-client在Rails中通过对等方重置连接

我们有一个Ruby on Rails应用程序,它具有“搜索”function(搜索某些公司)。 从浏览器用户键入一些名称和点击搜索,此搜索对外部系统进行restapi调用,并获取一些搜索结果。 我们正在使用“ rest-client ”(用于Ruby on Rails)。 我注意到这似乎工作了几个小时突然我的搜索似乎突然被打破,我可以在我的日志中看到我得到: Errno :: ECONNRESET:由对等方重置连接 我们试图通过查看日志来调查此问题,我们没有看到任何日志。 如果我们需要再次进行此搜索,我们需要重新启动乘客,然后立即运行。 这只发生在生产环境中。 我在分期测试中似乎运行良好。 问题: 什么可能导致这个“重置问题” 为什么我的prod乘客重置它开始再次工作。 我们使用reset-client应该编写一个代码,以便在发生此exception时手动关闭连接。 防火墙中的任何问题都可能导致此问 我是否可以在exception中放置任何代码来重新启动此连接,以便下次调用成功。 码: def call resp_data = RestClient.get(@request_url, @header) rescue => error puts ‘Exception: ‘ error.message end

如何在“case when”中捕获Errno :: ECONNRESET类?

我的应用程序(Ruby 1.9.2)可能引发不同的exception,包括网络连接中断。 我rescue Exception => e ,然后做case/when以不同的方式处理它们,但是几个错误直接通过我的案例。 rescue Exception => e p e.class case e.class when Errno::ECONNRESET p 1 when Errno::ECONNRESET,Errno::ECONNABORTED,Errno::ETIMEDOUT p 2 else p 3 end end 打印: Errno::ECONNRESET 3