奇葩的 bug 经历, nodejs 写了个库存监控工具,运行一段时间后总是卡死

查看 22|回复 0
作者:weiwenhao   
每次都是运行 10 多个小时就卡死,不退出执行,也没有错误日志。
所以打了些断点想看看卡死在哪里了,结果在非常奇怪的位置。查看内存溢出,fd 溢出等等都比较正常。stack 追踪太复杂,没找到合适的工具。
查论坛有个解决办法就是限制循环运行的次数,在运行一段时间后主动使用 process.exit 退出然后让 pm2 拉起来。
于是准备去改代码实操了,却发现之前的代码是这样的 👇
let retryCount = 4 * 60 * 60; // 基于库存检测的模式,单次耗时 3s 左右。
(async () => {
        // ....
    // 循环检测购物车
    for (let i = 0; i
Σ(°ロ°),原来是我自己加了 retryCount ,但是我忘记了!!!原来卡死就是循环次数耗尽了。(另外这一段代码循环次数耗尽并不会退出会阻塞住)
您需要登录后才可以回帖 登录 | 立即注册

返回顶部