UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

62 lines (56 loc) 1.68 kB
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); }); }); }); }); } };