0

我的 Node.js CPU 被固定时遇到问题。我注意到它与从 node.js 服务器发出 HTTP 请求时出现 ETIMEDOUT 错误的时间完全相关。

我发现这个问题可能正是这个问题。去引用:

这个问题不是 node.js 本机代码的问题,而是 mongodb 驱动程序如何管理它的问题;连接池。它将一种连接等待方法无限推送到队列中,直到得到系统的一些响应。而当连接刚刚挂起时,这种等待方法就会开始自我重复。

然而,据说这个问题大约在一年前在 Mongo 驱动程序中得到了解决。

这是错误,它出现在我的日志中:

Sat Nov 17 2012 08:48:11 GMT-0800 (PST): Error: ETIMEDOUT
Sat Nov 17 2012 08:48:11 GMT-0800 (PST): "Error: ETIMEDOUT\n    at Object.<anonymous> (/home/webapps/SGPArray/releases/20121117084123/api/node_modules/request/main.js:670:15)\n    at Timer.list.ontimeout (timers.js:101:19)"

当套接字超时时,node.js CPU 是 100% 固定的。派发错误后,CPU使用率恢复正常。

想法?


代码非常简单,甚至似乎不值得发布

request({'uri': url}, function(err, resp) {
    if(err)
    {
        callback(err);
        return;
    }
    parseArticles(resp);
});
4

0 回答 0