redis.zrange(this.name+"z",start,stop ,function (err, result) { // console.log("[DEBUG][read_all keys] %s", JSON.stringify(result)); redis.multi({pipeline: false}); result.forEach( function(key){ if (key != undefined) { redis.get(key); } }); redis.exec(function (err, results) { var clean_str = self.get_results(results); var result = {}; var clean = clean_str.map( function (val) { return JSON.parse(val); }); //remove last two results from sadd and rpush result.sample = clean; return callback(err, result) }); });
redis.smembers(this.name, function (err, result) { //console.log("[DEBUG][read_all keys] %s", JSON.stringify(result)); redis.multi({pipeline: false}); result.forEach( function(key){ if (key != undefined) { redis.get(key); } }); redis.exec(function (err, results) { var clean = self.get_results(results); var result = {}; //remove last two results from sadd and rpush result.sample = clean; return callback(err, result) }); });
redis.smembers(sample_id,function(err,samples){ redis.multi({pipeline: false}); //console.log("[DEBUG][respawn_sample smembers:] %s", JSON.stringify(samples)); if (samples.length){ redis.sadd(self.name,samples); redis.del(sample_id); redis.lrem(self.sample_queue,0,sample_id); console.log("[DEBUG][respawn_sample] sample_queue:%s sample_id:%s",self.sample_queue, sample_id); } else { //console.log("[DEBUG][respawn_sample] sample_queue:%s sample_id:%s",self.sample_queue, sample_id); redis.del(sample_id); redis.lrem(self.sample_queue,0,sample_id); } redis.exec(function(err,results){ callback(err,results); }); //console.log("[DEBUG][respawn_sample sample_id] %s", JSON.stringify(samples)); });
.exec(function (err, results) { //Results are in the form: [[null,"pop:individual:3"],[null,4]] key,key,next_sample_id //Last result is the sample count + 1 var sample_id = results[results.length - 1][1]; // leave just the keys //console.log("[DEBUG][get_sample sample_id] %s", JSON.stringify(sample_id)); var keys = self.get_results(results.slice(0,-1)); // console.log("[DEBUG][get_sample keys] %s", JSON.stringify(keys)); if (keys.length == 0) return callback( null, null); redis.multi({pipeline: false}); keys.forEach( function(key){ if (key != undefined) { redis.get(key); } }); redis.sadd(self.name+"sample:" + sample_id,keys); redis.rpush(self.sample_queue, self.name+"sample:" + sample_id); redis.exec(function (err, results) { var clean_str = self.get_results(results); var clean = clean_str.map( function (val) { return JSON.parse(val); }); //var clean = self.get_results(results); var result = {}; result.sample_id =self.name+"sample:" + sample_id; //remove last two results from sadd and rpush result.sample = clean.slice(0,clean.length-2); return callback(err, result) }); });