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:59 UTC
[incubator-openwhisk-package-cloudant] branch master updated:
Handle db connection error during follow (#119)
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-cloudant.git
The following commit(s) were added to refs/heads/master by this push:
new 5970ecf Handle db connection error during follow (#119)
5970ecf is described below
commit 5970ecfb55f7452ff672cf85cb0276c1f778f8a3
Author: Jason Peterson <ja...@us.ibm.com>
AuthorDate: Tue Jul 18 14:21:58 2017 -0400
Handle db connection error during follow (#119)
---
provider/lib/utils.js | 71 +++++++++++++++++++++++++++++++--------------------
1 file changed, 43 insertions(+), 28 deletions(-)
diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index 06d9d4d..38d9c1f 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -309,34 +309,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(utils.initTrigger(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(utils.initTrigger(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) {
@@ -423,11 +438,11 @@ module.exports = function(
redisClient.hgetAsync(utils.redisHash, utils.redisKey)
.then(activeHost => {
return utils.initActiveHost(activeHost);
- })
- .then(resolve)
- .catch(err => {
- reject(err);
- });
+ })
+ .then(resolve)
+ .catch(err => {
+ reject(err);
+ });
}
else {
resolve();
--
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <co...@openwhisk.apache.org>'].