Avoid that trigger is fired too often if Request to OpenWhisk is too slow. (#83)
diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index 847b4cf..02b3718 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -98,6 +98,11 @@
return new Promise(function(resolve, reject) {
+ // only manage trigger fires if they are not infinite
+ if (dataTrigger.maxTriggers !== -1) {
+ dataTrigger.triggersLeft--;
+ }
+
request({
method: 'post',
uri: uri,
@@ -112,6 +117,10 @@
logger.info(method, triggerIdentifier, 'http post request, STATUS:', response ? response.statusCode : response);
if (error || response.statusCode >= 400) {
+ // only manage trigger fires if they are not infinite
+ if (dataTrigger.maxTriggers !== -1) {
+ dataTrigger.triggersLeft++;
+ }
logger.error(method, 'there was an error invoking', triggerIdentifier, response ? response.statusCode : error);
if (!error && utils.shouldDisableTrigger(response.statusCode)) {
//disable trigger
@@ -136,10 +145,6 @@
}
}
} else {
- // only manage trigger fires if they are not infinite
- if (dataTrigger.maxTriggers !== -1) {
- dataTrigger.triggersLeft--;
- }
logger.info(method, 'fired', triggerIdentifier, dataTrigger.triggersLeft, 'triggers left');
resolve(triggerIdentifier);
}