【发布时间】:2019-01-20 22:49:56
【问题描述】:
在我的 Node.js 应用程序中,我使用 setInterval() 每 1 小时运行一次特定函数。该函数正常执行大约 25 天,然后计时器停止触发。
25 天似乎非常接近 Node.js 的 TIMEOUT_MAX(2^31 毫秒 ≈ 25 天),但我真的不明白为什么 setInterval() 应该在那之后停止执行。
更新:
我认为这可能是由 Node.js 中的以下错误引起的:setInterval callback function unexpected halt #22149
【问题讨论】:
-
您是否尝试过使用递归
setTimeout代替? -
你的代码是什么?
-
你能用类似
cron/schtasks/ 其他操作系统级别的调度程序吗? -
@NoobTW 我不知道 node-cron,但我们之前使用过 node-schedule 并且遇到了完全相同的问题。无论如何,它现在似乎已经在 Node.js 中修复了。
标签: javascript node.js setinterval