ExpressJS: run a function every 24 hours

后端 未结 2 2001
孤街浪徒
孤街浪徒 2021-01-29 15:20

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

相关标签:
2条回答
  • 2021-01-29 15:42

    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

    0 讨论(0)
  • 2021-01-29 15:54

    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.

    0 讨论(0)
提交回复
热议问题