我们的应用程序托管在 AWS 上,拥有 8 个应用程序服务器(Unicorn)+ 3 个 RDS(1 个主服务器 + 两个只读副本)+ 2 个 Redis(主服务器 + 从属服务器),全部位于一个区域 所有 8 个应用程序服务器都具有 BST 时区和还有2个redis,我们在application.rb中将时区应用为“伦敦”,
问题出在显示页面开始日期、结束日期显示值有时显示为开始日期星期五 01-10-2015 - 18:30,有时显示为星期五 01-10- 2015 - 19:30 刷新值体现(ctrl + F5)。
有人遇到过类似的问题吗?
拉维
最佳答案
您可以通过在 application_controller
中添加 around filter
来覆盖 active_record
- 时区的奇怪行为来解决此问题。
around_filter :use_time_zone
private
def use_time_zone(&block)
Time.use_zone('London', &block)
end
因此,每当默认时区更改为 UTC 时,它将覆盖并设置为 BST。
关于ruby-on-rails - 多个服务器上 Rails 中奇怪的 ActiveRecord 时区行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036064/