ExpressJS: run a function every 24 hours

巧了我就是萌 提交于 2020-06-23 20:22:09

问题


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 in principle the only way to do it?


回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/61958370/expressjs-run-a-function-every-24-hours

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!