From a2d5962a4bd0e5aac86031dd5a674db717053dc8 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 23 Mar 2017 08:08:18 +0300 Subject: [PATCH] added error handlers on fail reqests in shepherd cache api --- routes/cache.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/routes/cache.js b/routes/cache.js index 91742f8..3e4509e 100644 --- a/routes/cache.js +++ b/routes/cache.js @@ -464,6 +464,16 @@ cache.one = function(req, res, next) { writeCache(); } + if (error) { + outObj.basilisk[coin][address][key] = {}; + outObj.basilisk[coin][address][key].data = { 'error': 'request failed' }; + outObj.basilisk[coin][address][key].timestamp = 1471620867 // add timestamp + outObj.basilisk[coin][address][key].status = 'done'; + callStack[coin]--; + console.log(coin + ' _stack len ' + callStack[coin]); + checkCallStack(); + writeCache(); + } }); } else { console.log(key + ' is fresh, check back in ' + (cacheGlobLifetime - checkTimestamp(outObj.basilisk[coin][address][key].timestamp)) + 's'); @@ -530,6 +540,10 @@ cache.one = function(req, res, next) { }); } } + if (error) { // stop further requests on failure, exit + callStack[coin] = 1; + checkCallStack(); + } }); } else { getAddresses(coin); @@ -643,6 +657,16 @@ cache.one = function(req, res, next) { writeCache(); } + if (error) { + outObj.basilisk[coin][address][key] = {}; + outObj.basilisk[coin][address][key].data = { 'error': 'request failed' }; + outObj.basilisk[coin][address][key].timestamp = 1471620867 // add timestamp + outObj.basilisk[coin][address][key].status = 'done'; + callStack[coin]--; + console.log(coin + ' _stack len ' + callStack[coin]); + checkCallStack(); + writeCache(); + } }); } else { console.log(key + ' is fresh, check back in ' + (cacheGlobLifetime - checkTimestamp(outObj.basilisk[coin][address][key].timestamp)) + 's');