2014-06-26 18 views
5

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ĩ?

Trả lời

2

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.

Các vấn đề liên quan