gpt4 book ai didi

ruby-on-rails - 在应用程序完全加载之前,Tomcat 正在处理对 JRuby on Rails 应用程序的请求

转载 作者:数据小太阳 更新时间:2023-10-29 08:10:40 24 4
gpt4 key购买 nike

我有一个边缘案例,虽然这是一个非常客户可见的案例,其中 Tomcat 在为在 JRuby 下运行的 Ruby on Rails 堆栈正确加载所有依赖项之前开始处理请求。

一旦 Tomcat 重新启动,就会发生类似以下的事情:

undefined method `utc_offset' for nil:NilClass
[RAILS_ROOT]/gems/gems/activesupport-2.3.8/lib/active_support/values/time_zone.rb:206:in `<=>'

在我的一项服务上调用以下代码时会发生这种情况:

  @timezones = ActiveSupport::TimeZone.all

如果您再等几秒钟并刷新请求页面,它就会加载没有问题。

有没有办法确保 Tomcat 在加载整个堆栈、ActiveSupport、ActiveRecord 等之前不会开始处理这些请求?有没有人遇到过类似的症状?

最佳答案

这听起来像是 JRuby-Rack 中可能存在的错误,假设您正在使用它在 Tomcat 中运行 Rails 应用程序。 JRuby-Rack 应该在处理请求之前加载整个 config/environment.rb,所以我不确定这会如何发生在你身上,但也许我忽略了一些东西。您能否分享更多有关您如何在 http://kenai.com/jira/browse/JRUBY_RACK 引发错误的数据(或者可能是重现该问题的代码或应用程序)?或 http://bugs.jruby.org

关于ruby-on-rails - 在应用程序完全加载之前,Tomcat 正在处理对 JRuby on Rails 应用程序的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com