Javascript 在node js中每天午夜重置变量值

Javascript 在node js中每天午夜重置变量值,javascript,node.js,node-schedule,Javascript,Node.js,Node Schedule,我的节点js代码中有一个全局变量。我需要在每天午夜12点将其值重置为1。在NodeJS中是如何实现的? 我读过一些关于节点调度器的文章。它有效吗?或者有其他方法吗?使用节点调度这应该很简单。使用定义作业,并将变量重置为scheduleJob-回调中的默认值: const schedule = require('node-schedule'); let yourVar = 12345; const globalResetJob = schedule.scheduleJob('0 0 * * *'

我的节点js代码中有一个全局变量。我需要在每天午夜12点将其值重置为1。在NodeJS中是如何实现的?
我读过一些关于节点调度器的文章。它有效吗?或者有其他方法吗?

使用
节点调度
这应该很简单。使用定义作业,并将变量重置为
scheduleJob
-回调中的默认值:

const schedule = require('node-schedule');
let yourVar = 12345;

const globalResetJob = schedule.scheduleJob('0 0 * * *', () => {
  yourVar = 1;
});

您可以使用一个简单的
setTimeout()
自己安排它:

let myVar = 10;

function scheduleReset() {
    // get current time
    let reset = new Date();
    // update the Hours, mins, secs to the 24th hour (which is when the next day starts)
    reset.setHours(24, 0, 0, 0);
    // calc amount of time until restart
    let t = reset.getTime() - Date.now();
    setTimeout(function() {
        // reset variable
        myVar = 1;
        // schedule the next variable reset
        scheduleReset();
    }, t);
}

scheduleReset();
只要程序启动,它就可以调用
scheduleReset()

仅供参考,我从我编写的一个程序(在Raspberry Pi服务器上)中提取了大部分代码,该程序每天凌晨4点重新启动,并且该程序已经成功地执行了几年。

PM2(建议在生产中运行节点)具有cron调度功能。我将在一个单独的脚本中编写逻辑,并找出一种与应用程序共享变量的方法(可能使用api、文件、redis或websocket)