I have a Django app running on Heroku and I need to run background tasks every hour. It's quite important that I don't miss an event
I know I can use the Heroku scheduler. However, it says:
Scheduler is a “best effort” service, meaning that execution is expected but not guaranteed. Scheduler is known to occasionally (but rarely) miss the execution of scheduled jobs. If scheduled jobs are a critical component of your application, it is recommended to run a custom clock process instead for more reliability, control, and visibility.
Since I don't want to miss event, I went to the custom clock process page and there it says:
Since dynos are restarted at least once a day some logic will need to exist on startup of the clock process to ensure that a job interval wasn’t skipped during the dyno restart.
So my question is, is there an advantage to using a clock process vs the Heroku scheduler apart from being more flexible regarding times it should run? Since neither is 100% reliable I rather use the scheduler and implement some logic to make sure it gets run otherwise I have to pay for an extra dyno (the clock process).