Scheduler的Heroku时区是什么?它显示“UTC”,但我不确定这是否正确。尽管正确转换了时区,但我的任务在错误的时间开始。

有什么想法吗?

最佳答案

这个问题有点老了,但是,是的,即使您在应用中指定了时区,Heroku Scheduler肯定也使用UTC。我用以下代码对其进行了测试:

task :send_test_email => :environment do
  if Date.today.strftime("%A").downcase == 'monday'
    UserMailer.send_test_email(Time.now.strftime("%Z")).deliver
  end
end

我在太平洋时区。我将Heroku Scheduler设置为每10分钟运行一次,并且该电子邮件能够在PST的星期日晚上(即UTC时间的星期一)发送。另外,我传递给邮件程序的字符串Time.now.strftime("%Z")设置为电子邮件的主题,该电子邮件的确显示为“UTC”

造成混淆的一种潜在原因是夏令时。例如,UTC总是比太平洋标准时间(PST-冬季月份)早8小时,比太平洋夏令时(PDT-夏季月份)早7小时。因此,如果您的任务关闭了一个小时,则可能是从错误的UTC区域进行了度量。

关于heroku - Heroku Scheduler时区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24429069/

10-16 17:15
查看更多