每五分钟安排一次Node.js作业?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我需要node.js每五分钟查询一次MongoDB,获取特定数据,然后使用Socket.IO,允许订阅的Web客户端访问这些数据。我已经设置了Socket.IO部分,当然,mongo,我只需要知道如何让node.js每五分钟运行一次,然后将其发送到Socket.IO。

什么是最好的解决办法?

谢谢

提问于
用户回答回答于
var minutes = 5, the_interval = minutes * 60 * 1000;
setInterval(function() {
  console.log("I am doing my 5 minutes check");
  // do your stuff here
}, the_interval);

将该代码保存为node_regular_job.js并运行:)

用户回答回答于

如果需要管理一些异步任务,则:

(function schedule() {
    background.asyncStuff().then(function() {
        console.log('Process finished, waiting 5 minutes');
        setTimeout(function() {
            console.log('Going to restart');
            schedule();
        }, 1000 * 60 * 5);
    }).catch(err => console.error('error in scheduler', err));
})();

扫码关注云+社区