我有一個在Heroku上運行的Django應用程序,我需要每小時運行一次後臺任務。這是非常重要的,我不會錯過任何事件Heroku調度程序和時鐘進程
我知道我可以使用Heroku調度器。但它說:
調度程序是一個「盡力而爲」的服務,這意味着執行是 預期,但不能保證。調度程序偶爾會知道(但很少),不會錯過預定作業的執行。如果計劃的作業是應用程序的關鍵組件 ,建議運行 自定義時鐘進程,以取得更高的可靠性,控制和 可見性。
因爲我不想錯過的事件,我去了定製的時鐘程序頁面,那裏說:
由於DYNOS重新啓動至少每天一次,一些邏輯需要 在時鐘進程啓動時存在,以確保在dyno重啓期間沒有跳過作業間隔 。
所以我的問題是,除了在應該運行的時間方面更靈活之外,使用時鐘進程還是比Heroku調度器更有優勢?既然都不是100%可靠的,我寧願使用調度程序並執行一些邏輯來確保它運行,否則我必須支付額外的測試程序(時鐘進程)。