What\'s the easiest way to run an automated function every 24 hours in ExpressJS?
I have searched everywhere for a solution aside from running an infinite loop. Is this
you need to use node-cron npm
var cron = require('node-cron');
cron.schedule('0 0 * * *', () => {
console.log('running a task every day');
});
get other cron formula :https://crontab.guru/examples.html
In Javascript, you use setTimeout()
and setInterval()
to schedule something to run a specific amount of time into the future (details here). setTimeout()
will run it once at the specific time interval from now. setInterval()
will run it over and over again at that particular time interval.
If this is a server that's running constantly, you can just use setInterval()
.
setInterval(myFunction, 1000 * 60 * 60 * 24);
This will call your function myFunction
every 24 hours.
There are also various chron packages such as node-schedule you can find on NPM that have more sophisticated scheduling tools (run it every other day and twice on Mondays) and can offer persistence so scheduling is remembered across a server restart.
For example, I have a home automation server running on a raspberry Pi that uses a setInterval()
to run some log management code once a day.