У меня возникают проблемы, когда приложение моего узла внезапно начинает потреблять много 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
Нет, я этого не делаю. Я просто написал это для удовольствия –