improve retry

This commit is contained in:
Eugenio Romano
2018-09-11 15:59:26 +01:00
parent 376de94c16
commit e99273139a
2 changed files with 43 additions and 38 deletions

View File

@@ -21,37 +21,43 @@ replaceHrefInIndex = (folder) => {
});
}
unzipRetry = (tentativeNumber, outputFolder) => {
unzipRetry = (tentativeNumber, outputFolder, url) => {
var file = fs.createWriteStream('demo.zip');
http.get(`http://${url}`, (response) => {
response.pipe(file);
file.on('finish', async () => {
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
setTimeout(() => {
fs.createReadStream(path.join(__dirname, '../demo.zip'))
.pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')}))
.on('error', () => {
if (tentativeNumber <= 4) {
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
setTimeout(() => {
fs.createReadStream(path.join(__dirname, '../demo.zip'))
.pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')}))
.on('error', () => {
setTimeout(() => {
unzipRetry(tentativeNumber++, outputFolder);
}, 10000);
}
})
.on('finish', () => {
if (tentativeNumber <= 4) {
tentativeNumber++;
unzipRetry(tentativeNumber, outputFolder);
}
})
.on('finish', () => {
setTimeout(() => {
let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`)
let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`)
setTimeout(() => {
let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`)
let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`)
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
if (program.baseHref) {
replaceHrefInIndex(outputFolder);
}
}, 10000);
if (program.baseHref) {
replaceHrefInIndex(outputFolder);
}
}, 10000);
})
}, 10000);
})
}, 10000);
});
});
}
async function main() {
@@ -88,13 +94,7 @@ async function main() {
let outputFolder = program.baseHref ? program.baseHref : 'dist';
var file = fs.createWriteStream('demo.zip');
http.get(`http://${url}`, (response) => {
response.pipe(file);
file.on('finish', async () => {
unzipRetry(1, outputFolder);
});
});
unzipRetry(0, outputFolder, url);
}
main();

View File

@@ -11,14 +11,14 @@ var exec = require('child_process').exec;
var alfrescoJsApi;
unzipRetry = (tentativeNumber, pacakge, outputFolder) => {
unzipRetry = (url, outputFolder, pacakge, tentativeNumber) => {
console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`));
fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`))
.pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)}))
.on('error', () => {
if (tentativeNumber <= 4) {
setTimeout(() => {
unzipRetry(tentativeNumber++, pacakge, outputFolder);
downloadZip(tentativeNumber, url, outputFolder, pacakge);
}, 10000);
}
})
@@ -35,15 +35,20 @@ unzipRetry = (tentativeNumber, pacakge, outputFolder) => {
})
}
downloadZip = async (url, outputFolder, pacakge) => {
downloadZip = async (url, outputFolder, pacakge, tentativeNumber) => {
if (!tentativeNumber) {
tentativeNumber = 0;
}
tentativeNumber++;
console.log(`Download ${pacakge} in OutputFolder ${outputFolder}`)
console.log(`Download ${pacakge}`)
console.log(`OutputFolder ${outputFolder}`)
var file = fs.createWriteStream(`${pacakge}.zip`);
return await http.get(`http://${url}`, (response) => {
response.pipe(file);
file.on('finish', async () => {
unzipRetry(1, pacakge, outputFolder);
unzipRetry(url, outputFolder, pacakge, tentativeNumber);
});
});
}