Node.js setInterval()在25天后停止执行

Moo*_*ade 7 javascript setinterval node.js

在我的Node.js应用程序中,我使用setInterval()每1小时运行一个特定的函数.该功能正常执行约25天,然后计时器停止发射.

25天似乎非常接近Node.js TIMEOUT_MAX(2 ^ 31毫秒≈25天),但我真的不明白为什么setInterval()在那之后应该停止执行.

更新:

我认为这可能是由Node.js中的以下错误引起的:setInterval回调函数意外停止#22149

Moo*_*ade 6

看来 bug ( #22149 ) 已在Node.js 10.9.0中修复。

还值得注意的是,这个错误似乎同时 setInterval()影响和setTimeout()如此处报告的),因此回调函数中的解决方法setTimeout()不起作用。