【问题标题】:weird ActiveRecord time zone behavior in Rails on multiple servers多台服务器上 Rails 中奇怪的 ActiveRecord 时区行为
【发布时间】:2015-08-16 14:15:57
【问题描述】:

我们的应用程序托管在 AWS 上,有 8 个应用服务器(Unicorn)+ 3 个 RDS(1 个主服务器 + 两个只读副本)+ 2 个 Redis(主服务器 + 从属)都位于一个区域所有 8 个应用服务器都有 BST 时区和还有2个redis,我们在application.rb中将时区应用为“伦敦”,

问题在于显示页面开始日期,结束日期显示值有时显示为开始日期 Frid​​ay 01-10-2015 - 18:30 有时显示为 Frid​​ay 01-10- 2015 - 19:30 刷新的值反映(ctrl + F5)。

有没有人遇到过类似的问题?

拉维

【问题讨论】:

    标签: ruby-on-rails ruby activerecord amazon-s3


    【解决方案1】:

    您可以解决此问题,方法是在您的 application_controller 中添加 around filter 以覆盖 active_record - timezone 的奇怪行为。

    around_filter :use_time_zone
    
    private
    
    def use_time_zone(&block)
      Time.use_zone('London', &block)
    end
    

    因此,每当默认时区更改为 UTC 时,它将覆盖并设置为 BST。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多