aboutsummaryrefslogtreecommitdiffstats
path: root/lib/repeat.js
diff options
context:
space:
mode:
authorAlex Shatov <alexs@att.com>2017-09-15 13:52:31 -0400
committerAlex Shatov <alexs@att.com>2017-09-15 13:52:31 -0400
commitb511ff360603599c43e066722d3902a55fac3f6d (patch)
tree7caa5c8ceb51568b444f0bd4ed9158fe92e8355e /lib/repeat.js
parent3486bd1a77a8a3f198de171fda34c102406a26ea (diff)
4.2.0 - added the policy-update handling
* API version 4.1.0 - added /policy, /swagger-ui * new: policy update with queuing of execute-operations * more data on info - branch+commit-datetime * expecting consul ip to be in /etc/hosts * added swagger-ui and added policy to *API.yaml * common logging - more audits and metrics records - directly in promise_request Change-Id: I7d32f34100a16b5b7293ed5afe67f5c8c3098495 Issue-Id: DCAEGEN2-62 Signed-off-by: Alex Shatov <alexs@att.com>
Diffstat (limited to 'lib/repeat.js')
-rw-r--r--lib/repeat.js60
1 files changed, 30 insertions, 30 deletions
diff --git a/lib/repeat.js b/lib/repeat.js
index 2ea0e14..f4d9532 100644
--- a/lib/repeat.js
+++ b/lib/repeat.js
@@ -1,16 +1,16 @@
/*
-Copyright(c) 2017 AT&T Intellectual Property. All rights reserved.
+Copyright(c) 2017 AT&T Intellectual Property. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License");
+Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
+Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied.
+CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
*/
@@ -25,30 +25,30 @@ See the License for the specific language governing permissions and limitations
*/
exports.repeatWhile = function(action, predicate, maxTries, interval) {
- return new Promise(function(resolve, reject) {
-
- var count = 0;
-
- function makeAttempt() {
- action()
- .then (function(res) {
- if (!predicate(res)) {
- // We're done
- resolve(res);
- }
- else {
- if (++count < maxTries) {
- // set up next attempt
- setTimeout(makeAttempt, interval);
- }
- else {
- // we've run out of retries or it's not retryable, so reject the promise
- reject({message: "maximum repetions reached: " + count });
- }
- }
- });
- }
-
- makeAttempt();
- });
+ return new Promise(function(resolve, reject) {
+
+ var count = 0;
+
+ function makeAttempt() {
+ action()
+ .then (function(res) {
+ if (!predicate(res)) {
+ // We're done
+ resolve(res);
+ }
+ else {
+ if (++count < maxTries) {
+ // set up next attempt
+ setTimeout(makeAttempt, interval);
+ }
+ else {
+ // we've run out of retries or it's not retryable, so reject the promise
+ reject({message: "maximum repetitions reached: " + count });
+ }
+ }
+ });
+ }
+
+ makeAttempt();
+ });
};