首页 > 解决方案 > Node JS 内存泄漏计划/Cron 作业

问题描述

我的应用程序中有一个 GET 路由,它只是启动一个计划任务/cron 作业的负载(使用 NPM 模块,例如node-cronnode-schedule

我最近实现了一些逻辑,从重复请求(我的 API 的主要逻辑)中的蒸汽配置文件中抓取一些玩家信息。我已将我的应用程序部署到 AWS,这使我能够设置一些基本的监控以及内存和 CPU 使用率的指标。

查看 MemoryUtilization 图表图表

我们可以看到,每 6 个小时,应用程序的内存使用量就有一个恒定的倾斜,这将指向我最近介绍的 cron 作业,我没有正确执行 cron 作业吗?我可以更好地处理承诺吗?

在repeatRequests 或其他路线中是否还有其他我应该或可以更好地处理的可能导致内存泄漏的东西?

对 API 发出的较大请求在大约一天或一天​​半的应用程序从新鲜开始后开始变慢,您可以看到内存使用量自昨天开始以来已经增加了 3 倍,从 4% 增加到 12% :O所以我必须每周手动重新启动它,否则它之前也崩溃过很多次......

多谢你们

应用程序之前已崩溃

标签: node.jsexpressmemorycron

解决方案


这是一个愚蠢的错误,cron 作业被设置为从每 6 分钟开始每分钟开始一个新作业,从而创建了无限数量的新作业,这些作业相互堆叠

从那时起,语法已更改为每 6 小时一次

* */6 * * *0 */6 * * *,内存使用率现在固定在 7%,快乐的日子!

新的内存使用


推荐阅读