File tree Expand file tree Collapse file tree
extensions/ql-vscode/src/variant-analysis Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -27,6 +27,8 @@ export class VariantAnalysisMonitor extends DisposableObject {
2727 );
2828 readonly onVariantAnalysisChange = this._onVariantAnalysisChange.event;
2929
30+ private readonly monitoringVariantAnalyses = new Set<number>();
31+
3032 constructor(
3133 private readonly app: App,
3234 private readonly shouldCancelMonitor: (
@@ -38,6 +40,24 @@ export class VariantAnalysisMonitor extends DisposableObject {
3840
3941 public async monitorVariantAnalysis(
4042 variantAnalysis: VariantAnalysis,
43+ ): Promise<void> {
44+ if (this.monitoringVariantAnalyses.has(variantAnalysis.id)) {
45+ void extLogger.log(
46+ `Already monitoring variant analysis ${variantAnalysis.id}`,
47+ );
48+ return;
49+ }
50+
51+ this.monitoringVariantAnalyses.add(variantAnalysis.id);
52+ try {
53+ await this._monitorVariantAnalysis(variantAnalysis);
54+ } finally {
55+ this.monitoringVariantAnalyses.delete(variantAnalysis.id);
56+ }
57+ }
58+
59+ private async _monitorVariantAnalysis(
60+ variantAnalysis: VariantAnalysis,
4161 ): Promise<void> {
4262 let attemptCount = 0;
4363 const scannedReposDownloaded: number[] = [];
You can’t perform that action at this time.
0 commit comments