function registerInRedis(worker, redisConnection, stats) { return new Promise(function (resolve, reject) { var keyName = "chatUp:chatServer:" + worker._conf.uuid; redisConnection.multi() .hmset(keyName, { host: worker._conf.host, connections: _(worker._workers).map('stats').map('connections').sum(), pubStats: JSON.stringify(_(worker._workers).map('stats').map('channels').flatten().compact().reduce(function (stats, channel) { stats[channel.name] = _.union(stats[channel.name] || [], channel.publishers); return stats; }, {})), subStats: JSON.stringify(stats) }) .pexpire(keyName, worker._conf.expireDelay) .exec(function (err, results) { if (err) { logger.captureError(logger.error('Redis register', { err: err })); return reject(err); } return resolve(); }); }); }
function registerInRedis(worker: ChatWorker, redisConnection: redis.RedisClient, stats:any):Promise<void> { return new Promise<void>(function(resolve, reject) { var keyName = "chatUp:chatServer:" + worker._conf.uuid; redisConnection.multi() .hmset(keyName, { host: worker._conf.host, connections: _(worker._workers).map('stats').map('connections').sum(), pubStats: JSON.stringify(_(worker._workers).map('stats').map('channels').flatten().compact().reduce((stats, channel:any) => { stats[channel.name] = _.union(stats[channel.name] || [], channel.publishers); return stats; }, {})), subStats: JSON.stringify(stats) }) .pexpire(keyName, worker._conf.expireDelay) .exec((err, results) => { if (err) { logger.captureError(logger.error('Redis register', {err})); return reject(err); } return resolve(); }); }); }