Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js是否自动取消setInterval?_Node.js_Setinterval - Fatal编程技术网

Node.js是否自动取消setInterval?

Node.js是否自动取消setInterval?,node.js,setinterval,Node.js,Setinterval,我使用setInterval和更高版本的节点调度每隔一小时左右创建一个调度呼叫,但看起来该呼叫通常在几天后被取消 const { scheduleJob } = require('node-schedule'); for (let i = 0; i < 24; ++i) scheduleJob(`0 ${i} * * *`, tensorFlowAPIs); 这是setInterval版本 TensorFlowAPI本质上只是一个异步请求 Node.js是否自动取消setInter

我使用setInterval和更高版本的节点调度每隔一小时左右创建一个调度呼叫,但看起来该呼叫通常在几天后被取消

const { scheduleJob } = require('node-schedule');

for (let i = 0; i < 24; ++i)
  scheduleJob(`0 ${i} * * *`, tensorFlowAPIs);
这是setInterval版本

TensorFlowAPI本质上只是一个异步请求

Node.js是否自动取消setInterval

否。
setInterval()
在一段长时间后不会自动取消

如果程序停止后又重新启动,则必须手动重新启动
setInterval()
,以使其继续运行


长时间运行的程序的问题通常是由于某种类型的资源泄漏(文件句柄、内存泄漏或其他一些系统资源)导致进程在长时间后无法完成其工作。显然,避免这种情况的最好方法是拥有一个从不泄漏任何重要资源的完美程序,但这是程序员处理缓慢且难以检测的泄漏的一种方法(特别是当它们可能在开发人员不熟悉的库代码中,或仅在某些难以模拟的错误条件下发生时)就是每隔一段时间(也许一天一次)重新启动他们的流程。这将清除所有泄漏对象并重新启动。

这可能与此有关吗@看起来这是可能的。我刚从Node.js 8转到Node.js 11…所提到的问题似乎在v10.9.0中根据@vsemozhetbyt然后idk进行了修复,然后可能是其他问题。我正在查看所有异常,以查看是否存在任何泄漏。我不这么认为,因为所有其他功能都正常工作,进程占用的内存非常小(50多MB)…@AeroWang-您是否监控了进程并发现内存泄漏?你可以使用各种操作系统工具来查看其他类型的系统资源。目前为止还没有找到任何东西,但现在才1天,所以,这需要一段时间。@AeroWang-如果你是一个内存使用率非常低的应用程序,那么我猜你的应用程序可能会使用某种资源(db连接句柄、文件句柄等)。仅供参考(不知道是否相关)tensorFlow中有泄漏。是的,但我的tensorFlow甚至没有在同一台机器上运行。
setInterval(tensorFlowAPIs, 60 * 60 * 1000);