2011-05-03 25 views
1

我想弄清楚的Heroku每天的cron是如何工作的,特別是在這樣:如果Heroku每天運行cron,我們是否還需要'如果time.now.hour ...`?

按照Heroku的自己cron docs,後臺任務往往是這樣寫的:

if Time.now.hour == 0 # run at midnight 
    User.send_reminders 
end 

那麼,發生,如果有什麼我在午夜以外的時間設置了cron?至少從我的調試來看,似乎每當Heroku cron運行時(幾乎總是不在午夜),上面的代碼段就被忽略了。

消除cron.rake中的時間元素並使其具有簡單語句User.send_reminders是否是良好的做法,要在該文檔運行時執行?

回答

4

Heroku的FAQ這樣說:

Cron作業執行基於上,當你 啓用插件。如果您在早上9:35啓用 小時附加組件,例如 ,則cron作業將在每小時過去一小時的35分鐘處運行 ; 如果您同時啓用了 的每日附加組件,則它將每天在 9:35處運行。

我相信這就是我的日常cron工作的運行方式,儘管我沒有太在意這點。我的日常cron任務中沒有任何時間檢查。

Heroku示例中的時間檢查在使用每小時cron時非常有用,但在每天使用時不會有用。

相關問題