Extract downloadVariantAnalysisResults method

In the next commit we'll start changing this method to support batching.
This commit is contained in:
Elena Tanasoiu
2022-10-11 17:29:42 +01:00
parent 362094b8de
commit 64994d7c03

View File

@@ -76,12 +76,8 @@ export class VariantAnalysisMonitor extends DisposableObject {
void this.logger.log('****** Retrieved variant analysis' + JSON.stringify(variantAnalysisSummary));
const repoResultsToDownload = this.getReposToDownload(variantAnalysisSummary, scannedReposDownloaded);
repoResultsToDownload.forEach(scannedRepo => {
scannedReposDownloaded.push(scannedRepo.repository.id);
this.scheduleForDownload(scannedRepo, variantAnalysisSummary);
});
const downloadedRepos = this.downloadVariantAnalysisResults(variantAnalysisSummary, scannedReposDownloaded);
scannedReposDownloaded.push(...downloadedRepos);
if (variantAnalysisSummary.status === 'completed') {
break;
@@ -118,6 +114,21 @@ export class VariantAnalysisMonitor extends DisposableObject {
}
}
private downloadVariantAnalysisResults(
variantAnalysisSummary: VariantAnalysisApiResponse,
scannedReposDownloaded: number[]
): number[] {
const repoResultsToDownload = this.getReposToDownload(variantAnalysisSummary, scannedReposDownloaded);
const downloadedRepos: number[] = [];
repoResultsToDownload.forEach(scannedRepo => {
downloadedRepos.push(scannedRepo.repository.id);
this.scheduleForDownload(scannedRepo, variantAnalysisSummary);
});
return downloadedRepos;
}
private async sleep(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms));
}