node.js - Node.js 会自动取消 setInterval 吗?
问题描述
我使用 setInterval 和后来的 node-schedule 每隔一小时左右创建一个预定的通话,但看起来通话通常会在几天后被取消。
const { scheduleJob } = require('node-schedule');
for (let i = 0; i < 24; ++i)
scheduleJob(`0 ${i} * * *`, tensorFlowAPIs);
这是节点计划版本。
setInterval(tensorFlowAPIs, 60 * 60 * 1000);
这是 setInterval 版本。
tensorFlowAPIs 本质上只是一个异步请求。
解决方案
Node.js 会自动取消 setInterval 吗?
setInterval()
不会在一段时间后自动取消 。
如果您的程序停止然后重新启动,则必须手动重新启动程序setInterval()
才能继续运行。
长时间运行程序的问题通常是由于某种资源泄漏(文件句柄、内存泄漏或其他系统资源)导致进程在很长一段时间后无法完成其工作。显然,避免这种情况的最佳方法是拥有一个永远不会泄漏任何重要资源的完美程序,但这是程序员处理缓慢、难以检测到的泄漏的一种方式(特别是如果它们可能在开发人员不在的库代码中)不熟悉或仅在某些难以模拟的错误条件下发生)是每隔一段时间(也许一天一次)重新启动他们的过程。这清除了任何泄漏对象的过程并重新开始。
推荐阅读
- java - 如何通过单击暂停音频文件并开始一个新文件?
- javascript - 当我的查询错误时,getColors.php 不会发出此通知
- excel - 检测excel单元格中分隔值内的重复
- c# - Unity 是否将脚本编译为 C++?
- laravel - 迁移后在迁移列表中添加迁移文件
- json - VB.NET JSON POST 请求中的错误 - HTTPWEBREQUEST
- javascript - 如何为每条记录创建嵌套网格的动态列
- tcl - 将一个列表拆分为多个子列表,更改一个特定的子列表,然后重新加入所有子列表以形成一个新列表?
- android - xml 内容不正确
- python - 使用 numpy 结构化数组而不是 dict 来节省空间并保持速度