这个问题有点老了,但是,是的,即使您在应用程序中指定了时区,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
Run Code Online (Sandbox Code Playgroud)
我在太平洋时区。我将 Heroku Scheduler 设置为每 10 分钟运行一次,并且这封电子邮件能够在太平洋标准时间周日晚上发送,即 UTC 时间周一。另外,我传递给邮件程序的字符串Time.now.strftime("%Z")被设置为电子邮件的主题,该主题确实显示为“UTC”
夏令时是造成混乱的一个潜在来源。例如,UTC 始终比太平洋标准时间(PST - 用于冬季)早 8 小时,比太平洋夏令时间(PDT - 用于夏季)早 7 小时。因此,如果您的任务晚了一个小时,则可能是您从错误的 UTC 时区测量的。
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |