gpt4 book ai didi

ruby-on-rails - rails : How to properly set up the timezone on the production server (EC2 Ubuntu)?

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:01 25 4
gpt4 key购买 nike

我有一个位于俄勒冈地区的 EC2 实例。当我登录服务器时,我看到以下内容:

System information as of Wed Apr 13 04:13:49 UTC 2016

纽约市当前时间:中午 12:51。

我所有的佣金任务都是根据纽约时间设置的。我已经安排了一个每天早上 4 点运行的任务,但是在迁移到 AWS EC2 之后,这个任务在午夜运行。

我尝试在 config/environments/production.rb 中设置时区:

  config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = 'Eastern Time (US & Canada)'

但即使在重新启动服务器后,任务也会在每个午夜而不是凌晨 4 点启动。

我接下来应该做什么?

谢谢。

最佳答案

此问题的后续评论表明使用了 whenever gem。 whenever 策略是为了避免时区逻辑,由您自己决定。然而,有 this approachwhenever.rb:

Time.zone = "US/Eastern"

every 1.day, :at => Time.zone.parse('4:30 am').utc do
command 'echo hello'
end

这允许您的服务器继续使用 UTC 时间(您的帖子表明它确实如此),而您的代码对如何描述时钟上的特定时刻有自己的概念。作者表示他赞成这种方法,您可以在部署后通过检查 crontab (crontab -l) 自行验证。请务必注意,您的 crontab 采用 UTC;此系统库对您的 Rails 环境或运行时没有特别了解。

关于ruby-on-rails - rails : How to properly set up the timezone on the production server (EC2 Ubuntu)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604935/

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