You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by be...@apache.org on 2017/07/18 18:21:06 UTC

[incubator-openwhisk-package-alarms] branch master updated: Handle db connection error during follow (#77)

This is an automated email from the ASF dual-hosted git repository.

berstler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-package-alarms.git


The following commit(s) were added to refs/heads/master by this push:
     new 512b90c  Handle db connection error during follow (#77)
512b90c is described below

commit 512b90cd59e178b03c1726f123294bc23102b4fe
Author: Jason Peterson <ja...@us.ibm.com>
AuthorDate: Tue Jul 18 14:21:04 2017 -0400

    Handle db connection error during follow (#77)
---
 provider/lib/utils.js | 61 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 23 deletions(-)

diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index 5008c70..91d25de 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -271,34 +271,49 @@ module.exports = function(
     this.setupFollow = function(seq) {
         var method = 'setupFollow';
 
-        var feed = triggerDB.follow({ since: seq, include_docs: true, filter: ddname + '/' + filter, query_params: { worker: utils.worker } });
+        try {
+            var feed = triggerDB.follow({
+                since: seq,
+                include_docs: true,
+                filter: ddname + '/' + filter,
+                query_params: {worker: utils.worker}
+            });
 
-        feed.on('change', (change) => {
-            var triggerIdentifier = change.id;
-            var doc = change.doc;
+            feed.on('change', (change) => {
+                var triggerIdentifier = change.id;
+                var doc = change.doc;
 
-            logger.info(method, 'got change for trigger', triggerIdentifier);
+                logger.info(method, 'got change for trigger', triggerIdentifier);
 
-            if (utils.triggers[triggerIdentifier]) {
-                if (doc.status && doc.status.active === false) {
-                   utils.deleteTrigger(triggerIdentifier);
+                if (utils.triggers[triggerIdentifier]) {
+                    if (doc.status && doc.status.active === false) {
+                        utils.deleteTrigger(triggerIdentifier);
+                    }
                 }
-            }
-            else {
-                //ignore changes to disabled triggers
-                if (!doc.status || doc.status.active === true) {
-                    utils.createTrigger(triggerIdentifier, doc)
-                    .then(triggerIdentifier => {
-                        logger.info(method, triggerIdentifier, 'created successfully');
-                    }).catch(err => {
-                        var message = 'Automatically disabled after receiving exception on create trigger: ' + err;
-                        utils.disableTrigger(triggerIdentifier, undefined, message);
-                        logger.error(method, 'Disabled trigger', triggerIdentifier, 'due to exception:', err);
-                    });
+                else {
+                    //ignore changes to disabled triggers
+                    if (!doc.status || doc.status.active === true) {
+                        utils.createTrigger(triggerIdentifier, doc)
+                        .then(triggerIdentifier => {
+                            logger.info(method, triggerIdentifier, 'created successfully');
+                        }).catch(err => {
+                            var message = 'Automatically disabled after receiving exception on create trigger: ' + err;
+                            utils.disableTrigger(triggerIdentifier, undefined, message);
+                            logger.error(method, 'Disabled trigger', triggerIdentifier, 'due to exception:', err);
+                        });
+                    }
                 }
-            }
-        });
-        feed.follow();
+            });
+
+            feed.on('error', function (err) {
+                logger.error(method, err);
+            });
+
+            feed.follow();
+        }
+        catch (err) {
+            logger.error(method, err);
+        }
     };
 
     this.authorize = function(req, res, next) {

-- 
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <co...@openwhisk.apache.org>'].