系统时间更改后,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. });