active users cleanup

v1.18.x
barisusakli 11 years ago
parent 93a6402879
commit 633980ce4b

@ -1,23 +1,23 @@
'use strict'; 'use strict';
var async = require('async'), var async = require('async'),
db = require('./../database'), db = require('../database');
posts = require('./../posts'),
topics = require('./../topics');
module.exports = function(Categories) { module.exports = function(Categories) {
Categories.getActiveUsers = function(cid, callback) { Categories.getActiveUsers = function(cid, callback) {
db.getSortedSetRevRange('categories:recent_posts:cid:' + cid, 0, 99, function(err, pids) { async.waterfall([
var keys = pids.map(function(pid) { function(next) {
return 'post:' + pid; db.getSortedSetRevRange('categories:recent_posts:cid:' + cid, 0, 99, next);
}); },
function(pids, next) {
db.getObjectsFields(keys, ['uid'], function(err, users) { var keys = pids.map(function(pid) {
if (err) { return 'post:' + pid;
return callback(err); });
}
db.getObjectsFields(keys, ['uid'], next);
},
function(users, next) {
var uids = users.map(function(user) { var uids = users.map(function(user) {
return user.uid; return user.uid;
}).filter(function(value, index, array) { }).filter(function(value, index, array) {
@ -25,7 +25,7 @@ module.exports = function(Categories) {
}).slice(0, 24); }).slice(0, 24);
callback(null, uids); callback(null, uids);
}); }
}); ], callback);
}; };
}; };

Loading…
Cancel
Save