So I know Heroku's free dynos 'wind down' when there isn't any traffic to them– how would this effect the cron jobs that I've implemented using the node-cron module?
Cronjobs can be run locally via npm package — node-cron. But in Heroku, Jobs scheduled by node_cron won't run when your free dynos are sleeping, that is if cron execution will be scheduled at the time when your server would be offline, then it won't work.
Scheduler is a free add-on for running jobs on your app at scheduled time intervals, much like cron in a traditional server environment. While Scheduler is a free add-on, it executes scheduled jobs via one-off dynos that will count towards your monthly usage. Scheduler job execution is expected but not guaranteed.
Reliable delivery Heroku Scheduler is a free add-on, but it doesn't guarantee that jobs will be executed at their scheduled time, or at all for that matter. While it is rare, the possibility that a job may be skipped or run twice does exist.
Jobs scheduled by node_cron won't run when your free dynos are sleeping.
As an alternative, you can use the Heroku Scheduler add-on to schedule your cron jobs. That will trigger one-off dynos to run your cron jobs. Provided you don't exceed your monthly allowance of free dyno hours, you will be able to run your cron jobs for free.
Probably they won't work as you expect in 100%. I mean, if cron execution will be scheduled at the time when your server would be offline, then it won't work. Hobby Dynos on Heroku power-up only at HTTP request and shutdown after some period of inactivity, they won't boot because of cron.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With