'use-strict';
module.exports = {
available: function(req, res) {
// Test the connection to memcached
var memcached = new Memcached(m.port.replace('tcp://', ''), {});
memcached
.set('available', JSON.stringify({
status: true
}), parseInt(process.env.CACHE_EXPIRE, 10))
.then(function(data) {
return memcached.get('available');
})
.then(function(value) {
if (value == '{"status":true}') {
return Promise();
} else {
throw new Error('memcached connection is not functional' );
}
})
.catch(function(err) {
return err;
})
.done(function(err) {
console.log("done");
if (err) {
res.send("NOT OK " + err);
} else {
res.send("OK");
}
});
}
};
Health Check with Promises
'use-strict';
module.exports = {
avail: function(req, res) {
co(function* () {
console.log("Connecting to ", m.port);
try {
var cache = new Cache(m.port.replace('tcp://', ''));
yield cache.set('available', JSON.stringify({ status: true }), 0);
var value = yield cache.get('available');
if (value == '{"status":true}') {
res.send("OK");
} else {
res.send("NOT OK");
}
} catch(e) {
res.send("NOT OK");
console.log(e.stack);
}
});
},
};
Health Check with Generators