From 11688f577812a39dcec2063d1808876571964ead Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Tue, 23 Apr 2019 17:37:10 +0100 Subject: [PATCH] add 1 minute retry --- scripts/check-cs-env.js | 30 ++++++++++++++++++++++++++---- scripts/check-ps-env.js | 30 ++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/scripts/check-cs-env.js b/scripts/check-cs-env.js index 694f0c6954..e39b662763 100755 --- a/scripts/check-cs-env.js +++ b/scripts/check-cs-env.js @@ -1,6 +1,10 @@ let alfrescoApi = require('@alfresco/js-api'); let program = require('commander'); +let MAX_RETRY = 10; +let counter = 0; +let TIMEOUT = 60000; + async function main() { program @@ -10,18 +14,36 @@ async function main() { .option('-u, --username [type]', 'username ') .parse(process.argv); - try { + await checkEnv(); +} + +async function checkEnv() { + try { this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({ - provider: 'BPM', - hostEcm: program.host + provider: 'ECM', + hostEcm: program.host }); + await this.alfrescoJsApi.login(program.username, program.password); } catch (e) { console.log('Login error environment down or inaccessible'); - process.exit(1); + counter++; + if (MAX_RETRY === counter) { + console.log('Give up'); + process.exit(1); + } else { + console.log(`Retry in 1 minute attempt N ${counter}`); + sleep(TIMEOUT); + checkEnv(); + } } +} + +function sleep(delay) { + var start = new Date().getTime(); + while (new Date().getTime() < start + delay) ; } main(); diff --git a/scripts/check-ps-env.js b/scripts/check-ps-env.js index 5c519aa697..b6440421f0 100755 --- a/scripts/check-ps-env.js +++ b/scripts/check-ps-env.js @@ -1,6 +1,10 @@ let alfrescoApi = require('@alfresco/js-api'); let program = require('commander'); +let MAX_RETRY = 10; +let counter = 0; +let TIMEOUT = 60000; + async function main() { program @@ -10,18 +14,36 @@ async function main() { .option('-u, --username [type]', 'username ') .parse(process.argv); - try { + await checkEnv(); +} + +async function checkEnv() { + try { this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({ - provider: 'ECM', - hostEcm: program.host + provider: 'BPM', + hostBpm: program.host }); + await this.alfrescoJsApi.login(program.username, program.password); } catch (e) { console.log('Login error environment down or inaccessible'); - process.exit(1); + counter++; + if (MAX_RETRY === counter) { + console.log('Give up'); + process.exit(1); + } else { + console.log(`Retry in 1 minute attempt N ${counter}`); + sleep(TIMEOUT); + checkEnv(); + } } +} + +function sleep(delay) { + var start = new Date().getTime(); + while (new Date().getTime() < start + delay) ; } main();