我的节点应用程序突然开始消耗大量的CPU,林怀疑下面的功能卡住莫名其妙..NodeJS卡在回调中
Client.prototype.countActiveChatsRedis = function (userID, agentID, obj, callback) {
var count = 0;
pub.keys("widgetActive:" + userID + ":*", function(err, key) {
if(err !== null) {
console.log("Redis error..... --> " + err);
callback(count, obj);
}
if(key && key.length > 0) {
pub.mget(key, function(err, data) {
if(data) {
for(var i = 0; i < data.length;i++) {
if(data[i]) {
var arr = data[i].split(",");
if(arr[2] == agentID) {
if (Number(arr[3]) > 0) {
count++;
}
}
}
}
callback(count, obj);
}
});
} else {
callback(count, obj);
}
});
}
任何想法是什么问题可能是?任何情况下,它可以避免发送回调?
此函数每秒运行约50次。
您是否认为这可能是问题所在? – user3490755 2014-11-23 14:08:28
不,我不知道。我只是写了这个乐趣 – 2014-11-23 18:47:07