首页 > 解决方案 > 使用nodejs一段时间后如何动态更新数据?

问题描述

假设当我点击 GET 请求时响应来自服务器:

API 响应

[
{
  id: 1
  status: "Pending",
  startedAt: "10:30",
  endsAt: "12:30"
},
 {
  id: 2
  status: "Pending",
  startedAt: "11:30",
  endsAt: "1:30"
 },
....
]

现在我想在每 1 小时后将此状态字段更改为Started然后Finished

我如何使用 node.js 来做到这一点,以及这样做的正确实现应该是什么。

标签: node.jsmongodbapiexpress

解决方案


您可以使用cron job.

步骤 1)npm i crontab --save
步骤 2)npm i node-cron --save

现在在您的index.js或在您main的 node js 文件中。编写以下命令。

const cron = require('node-cron');
const crontab = require('node-crontab');

crontab.scheduleJob("0 * * * * " , function(){
     //do something cool    
},{
    schedule: true,
    timezone: "Asia/kolkata"
});

上述函数将每 1 小时运行一次,您可以在其中执行代码。

更多信息,请浏览官方文档


推荐阅读