actionhero
Version:
actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks
62 lines (56 loc) • 1.68 kB
JavaScript
exports.cacheTest = {
name: 'cacheTest',
description: 'I will test the internal cache functions of the API',
outputExample: {
"cacheTestResults": {
"saveResp": true,
"sizeResp": 1,
"loadResp": {
"key": "cacheTest_key",
"value": "value",
"expireTimestamp": 1420953274716,
"createdAt": 1420953269716,
"readAt": null
},
"deleteResp": true
}
},
inputs: {
key: {
required: true,
formatter: function(s){ return String(s); }
},
value: {
required: true,
formatter: function(s){ return String(s); },
validator: function(s){
if(s.length < 3){ return '`value` should be at least 3 letters long' }
else{ return true; }
}
},
},
run: function(api, data, next){
var key = 'cacheTest_' + data.params.key;
var value = data.params.value;
data.response.cacheTestResults = {};
api.cache.save(key, value, 5000, function(err, resp){
data.response.cacheTestResults.saveResp = resp;
api.cache.size(function(err, numberOfCacheObjects){
data.response.cacheTestResults.sizeResp = numberOfCacheObjects;
api.cache.load(key, function(err, resp, expireTimestamp, createdAt, readAt){
data.response.cacheTestResults.loadResp = {
key: key,
value: resp,
expireTimestamp: expireTimestamp,
createdAt: createdAt,
readAt: readAt
};
api.cache.destroy(key, function(err, resp){
data.response.cacheTestResults.deleteResp = resp;
next(err);
});
});
});
});
}
};