2014-06-26 18 views
5

Qual è il fuso orario di Heroku per l'Utilità di pianificazione? Dice "UTC" ma non sono sicuro che sia corretto. I miei compiti iniziano nel momento sbagliato malgrado la corretta conversione del fuso orario.Timezone Heroku Scheduler?

Pensieri?

risposta

2

Questa domanda è un po 'vecchia, ma sì, Heroku Scheduler utilizza sicuramente l'UTC anche se si specifica un fuso orario nell'app. L'ho provato con questo codice:

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

Sono in fuso orario del Pacifico. Ho impostato Heroku Scheduler per eseguirlo ogni 10 minuti e questa email è stata in grado di inviare domenica sera PST, che è il lunedì in ora UTC. Inoltre, la stringa che ho passato al mailer, Time.now.strftime("%Z"), è impostata come oggetto dell'e-mail che in effetti diceva "UTC"

Una potenziale fonte di confusione è l'ora legale. Ad esempio, UTC è sempre a 8 ore di anticipo rispetto all'ora solare del Pacifico (PST - utilizzata per i mesi invernali) e 7 ore in anticipo rispetto all'ora del Pacifico (PDT - utilizzata per i mesi estivi). Quindi, se le attività sono disattivate di un'ora, potrebbe essere misurato dalla zona UTC errata.