add 1 minute retry

This commit is contained in:
Eugenio Romano 2019-04-23 17:37:10 +01:00
parent d427e06136
commit 11688f5778
2 changed files with 52 additions and 8 deletions

View File

@ -1,6 +1,10 @@
let alfrescoApi = require('@alfresco/js-api'); let alfrescoApi = require('@alfresco/js-api');
let program = require('commander'); let program = require('commander');
let MAX_RETRY = 10;
let counter = 0;
let TIMEOUT = 60000;
async function main() { async function main() {
program program
@ -10,18 +14,36 @@ async function main() {
.option('-u, --username [type]', 'username ') .option('-u, --username [type]', 'username ')
.parse(process.argv); .parse(process.argv);
try {
await checkEnv();
}
async function checkEnv() {
try {
this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({ this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({
provider: 'BPM', provider: 'ECM',
hostEcm: program.host hostEcm: program.host
}); });
await this.alfrescoJsApi.login(program.username, program.password); await this.alfrescoJsApi.login(program.username, program.password);
} catch (e) { } catch (e) {
console.log('Login error environment down or inaccessible'); 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(); main();

View File

@ -1,6 +1,10 @@
let alfrescoApi = require('@alfresco/js-api'); let alfrescoApi = require('@alfresco/js-api');
let program = require('commander'); let program = require('commander');
let MAX_RETRY = 10;
let counter = 0;
let TIMEOUT = 60000;
async function main() { async function main() {
program program
@ -10,18 +14,36 @@ async function main() {
.option('-u, --username [type]', 'username ') .option('-u, --username [type]', 'username ')
.parse(process.argv); .parse(process.argv);
try {
await checkEnv();
}
async function checkEnv() {
try {
this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({ this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({
provider: 'ECM', provider: 'BPM',
hostEcm: program.host hostBpm: program.host
}); });
await this.alfrescoJsApi.login(program.username, program.password); await this.alfrescoJsApi.login(program.username, program.password);
} catch (e) { } catch (e) {
console.log('Login error environment down or inaccessible'); 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(); main();