node.js - 为什么我的节点脚本在一段时间后停止运行?
问题描述
我有一个相当简单的脚本,我想在循环中运行,该脚本应该使用 setInterval() 每 2 分钟运行 3 个不同的函数。它看起来像这样......
app.listen(port, () => {
setInterval(() => {
function1()
function2()
function3()
}, 1000 * 120)
})
每个函数调用不同的 API,重新构造返回数据的布局,然后将所有数据发送到 mongodb 数据库。使用“npm run server.js”运行每个函数的成功率约为95-99%,当一个函数失败时,它对下次运行该函数没有影响,所以我不介意的功能时不时地失败。我的问题是,我现在使用 pm2 在 ec2 服务器上托管了这个节点应用程序,因此它不断运行,但大约 30 分钟后,其中一个函数将停止将结果添加到数据库,然后稍后另一个函数将停止然后最后他们都会停下来。
那我做错了吗?我应该以不同的方式托管节点应用程序,还是不应该使用这个 setInterval() 设置?
解决方案
推荐阅读
- azure - 如何使用信任库在 azure devops 中创建 sonarqube 任务
- python - 如何在二维数组中创建来自 2 个不同数组的所有组合
- image - 计算屏幕覆盖率
- java - 我似乎在 if 语句和 removeDie 中有布尔等于错误我在删除一个骰子时遇到问题,如何解决这两个问题?
- reactjs - React Hook useCallback 缺少依赖项。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps
- javascript - 如何使用foreach循环的结果异步调用函数
- python-3.x - 为什么我的 for 循环不会写入所有创建的文件?
- angular - 将角度从 7 升级到 8
- spring-boot - 如何在kafka中获得消费者对经纪人的确认
- python - SQLalchemy Integer TypeDecorator for Python IntFlag:过滤多个条目