系统时间更改后,Node.js setTimeout不会被触发

我有这样的脚本

setTimeout(function() { console.log("Timeout"); }, 1000 * 60); 

当我运行它并将系统时间更改为一小时时,超时不会触发。 如果我改变了一个小时的时间,超时正常工作。

时间被外部程序改变,它使得调用像ioctl( rtcFd, RTC_SET_TIME, &newTime);

如何解决这个问题?

我们在OpenWRT态度调整上使用Node.js v0.10.15

谢谢

我刚刚发现这是一个修正在新版本中的错误 。 它通过v0.10.33中的这个提交来修复。

如果遇到此问题,则需要更新或修补node.js

使用节点调度程序这是为基于时间的调度

npm安装节点时间表

 var jobId="123456abc"; schedule.scheduleJob(jobId, new Date(1), function() { schedule.cancelJob(jobId); // your code here. });