我的Node.js CPU陷入困境我遇到了麻烦。我注意到它与从node.js服务器发出HTTP请求时出现ETIMEDOUT错误的确切相关。
我发现了issue which might the issue exactly。引用:
问题不是node.js本机代码的问题,而是mongodb驱动程序如何管理它的问题; s连接池。它无限地将一个连接等待方法推送到队列,直到系统得到一些响应。当连接刚刚挂起时,这种等待方法开始永远地重申它。
然而,大约一年前,这个问题在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);
});