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