Múi giờ Heroku cho Trình lập lịch biểu là gì? Nó nói "UTC" nhưng tôi không chắc nó có đúng hay không. Tác vụ của tôi bắt đầu sai thời gian mặc dù chuyển đổi múi giờ chính xác.Múi giờ của Bộ lập lịch Heroku?
Suy nghĩ?
Múi giờ Heroku cho Trình lập lịch biểu là gì? Nó nói "UTC" nhưng tôi không chắc nó có đúng hay không. Tác vụ của tôi bắt đầu sai thời gian mặc dù chuyển đổi múi giờ chính xác.Múi giờ của Bộ lập lịch Heroku?
Suy nghĩ?
Câu hỏi này hơi cũ, nhưng có, Trình lập lịch Heroku chắc chắn sử dụng UTC ngay cả khi bạn chỉ định múi giờ trong ứng dụng của mình. Tôi đã thử nghiệm mã này bằng mã này:
task :send_test_email => :environment do
if Date.today.strftime("%A").downcase == 'monday'
UserMailer.send_test_email(Time.now.strftime("%Z")).deliver
end
end
Tôi đang ở múi giờ Thái Bình Dương. Tôi thiết lập Heroku Scheduler để chạy 10 phút một lần, và email này có thể gửi vào đêm chủ nhật PST, thứ hai theo giờ UTC. Ngoài ra, chuỗi tôi đã chuyển đến bưu phẩm, Time.now.strftime("%Z")
, được đặt làm chủ đề của email thực sự đọc, "UTC"
Một nguồn gây nhầm lẫn tiềm ẩn là Giờ tiết kiệm ánh sáng ban ngày. Ví dụ: UTC luôn vượt 8 giờ so với Giờ chuẩn Thái Bình Dương (PST - được sử dụng cho các tháng mùa đông) và 7 giờ trước Giờ ban ngày Thái Bình Dương (PDT - được sử dụng cho các tháng mùa hè). Vì vậy, nếu công việc của bạn bị tắt một giờ, bạn có thể đo được từ khu vực UTC sai.