我已经在 Node 中注册了一些 setTimeout
函数,如下所示。
//Formula: minutes * 60 > seconds * 1000 > miliseconds.
setTimeout(() => {console.log("One minute")}, 1 * 60 * 1000) //delay 60000
setTimeout(() => {console.log("Five minutes")}, 5 * 60 * 1000) //delay 300000
setTimeout(() => {console.log("Ten minutes")}, 10 * 60 * 1000) //delay 600000
setTimeout(() => {console.log("Thirty minutes")}, 30 * 60 * 1000) //delay 1800000
setTimeout(() => {console.log("One hour")}, 60 * 60 * 1000) //delay 3600000
setTimeout(() => {console.log("Two hours")}, 120 * 60 * 1000) //delay 7200000
setTimeout(() => {console.log("Five hours")}, 300 * 60 * 1000) //delay 18000000
现在的问题是,当我阅读 setTimeout
文档时,需要超过 10 分钟的 setTimeout
不起作用,它支持 24.8 天。
When delay is larger than 2147483647 or less than 1, the delay will be set to 1
所有延迟值都小于 2147483647,为什么它不工作???
最佳答案
最后,当我在 node.js
存储库上创建问题时,我得到了答案,基本上不是node.js,而是heroku问题。
在 Heroku 中,免费 dyno 是独一无二的,因为它们在 30 分钟不活动后进入休眠状态,因此超过 30 分钟的时间不工作
Github issue
关于javascript - Node.js中setTimeout的最大时间限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294430/