Track currently monitoring variant analyses

This commit is contained in:
Koen Vlaswinkel
2023-05-15 14:50:13 +02:00
parent e9552df395
commit 927a0f0691

View File

@@ -27,6 +27,8 @@ export class VariantAnalysisMonitor extends DisposableObject {
);
readonly onVariantAnalysisChange = this._onVariantAnalysisChange.event;
private readonly monitoringVariantAnalyses = new Set<number>();
constructor(
private readonly app: App,
private readonly shouldCancelMonitor: (
@@ -38,6 +40,24 @@ export class VariantAnalysisMonitor extends DisposableObject {
public async monitorVariantAnalysis(
variantAnalysis: VariantAnalysis,
): Promise<void> {
if (this.monitoringVariantAnalyses.has(variantAnalysis.id)) {
void extLogger.log(
`Already monitoring variant analysis ${variantAnalysis.id}`,
);
return;
}
this.monitoringVariantAnalyses.add(variantAnalysis.id);
try {
await this._monitorVariantAnalysis(variantAnalysis);
} finally {
this.monitoringVariantAnalyses.delete(variantAnalysis.id);
}
}
private async _monitorVariantAnalysis(
variantAnalysis: VariantAnalysis,
): Promise<void> {
let attemptCount = 0;
const scannedReposDownloaded: number[] = [];