节点 JS 内存泄漏 Scheduled/Cron 作业
Node JS Memory Leak Scheduled/Cron Jobs
我的应用程序中有一个 GET 路由,它只是启动一个预定的 tasks/cron 作业加载(使用 NPM 模块,例如 node-cron and node-schedule)
我最近实现了一些逻辑来从 steam profiles inside repeatedRequests 中抓取一些玩家信息(我的 API 的主要逻辑)。我已将我的应用程序部署到 AWS,这使我能够设置一些基本的内存监控和指标以及 CPU 使用情况。
查看 MemoryUtilization 图表
我们可以看到应用程序的内存使用每6小时就会有一个恒定的斜率,这应该指向我最近介绍的cron作业,我是否没有正确执行cron作业?我可以更好地处理承诺吗?
在 repeatedRequests 或其他路由中是否还有其他我应该或可以更好地处理的可能导致内存泄漏的东西?
对 API 发出的较大请求在应用程序从新鲜开始大约一天或一天半后开始变慢,正如您所看到的那样,内存使用量已经增加了 3 倍它从昨天开始从 4% 到 12% :O 所以我必须每周手动重启它,否则它之前也崩溃过很多次...
谢谢大家
这是一个愚蠢的错误,cron 作业被设置为从每 6 日开始每分钟开始一个新作业,从而创建了无限数量的相互堆叠的新作业
从那时起,语法已从
更改为每 6 小时一次
* */6 * * *
到 0 */6 * * *
,内存使用率现在稳定在 7%,快乐的日子!
我的应用程序中有一个 GET 路由,它只是启动一个预定的 tasks/cron 作业加载(使用 NPM 模块,例如 node-cron and node-schedule)
我最近实现了一些逻辑来从 steam profiles inside repeatedRequests 中抓取一些玩家信息(我的 API 的主要逻辑)。我已将我的应用程序部署到 AWS,这使我能够设置一些基本的内存监控和指标以及 CPU 使用情况。
查看 MemoryUtilization 图表
我们可以看到应用程序的内存使用每6小时就会有一个恒定的斜率,这应该指向我最近介绍的cron作业,我是否没有正确执行cron作业?我可以更好地处理承诺吗?
在 repeatedRequests 或其他路由中是否还有其他我应该或可以更好地处理的可能导致内存泄漏的东西?
对 API 发出的较大请求在应用程序从新鲜开始大约一天或一天半后开始变慢,正如您所看到的那样,内存使用量已经增加了 3 倍它从昨天开始从 4% 到 12% :O 所以我必须每周手动重启它,否则它之前也崩溃过很多次...
谢谢大家
这是一个愚蠢的错误,cron 作业被设置为从每 6 日开始每分钟开始一个新作业,从而创建了无限数量的相互堆叠的新作业
从那时起,语法已从
更改为每 6 小时一次* */6 * * *
到 0 */6 * * *
,内存使用率现在稳定在 7%,快乐的日子!