@@ -5,7 +5,6 @@ import { RequestError } from "@octokit/request-error";
55import type {
66 VariantAnalysis ,
77 VariantAnalysisScannedRepository ,
8- VariantAnalysisStatus ,
98} from "./shared/variant-analysis" ;
109import {
1110 isFinalVariantAnalysisStatus ,
@@ -18,6 +17,7 @@ import { sleep } from "../common/time";
1817import { getErrorMessage } from "../common/helpers-pure" ;
1918import type { App } from "../common/app" ;
2019import { showAndLogWarningMessage } from "../common/logging" ;
20+ import type { QueryLanguage } from "../common/query-language" ;
2121
2222export class VariantAnalysisMonitor extends DisposableObject {
2323 // With a sleep of 5 seconds, the maximum number of attempts takes
@@ -37,9 +37,9 @@ export class VariantAnalysisMonitor extends DisposableObject {
3737 private readonly shouldCancelMonitor : (
3838 variantAnalysisId : number ,
3939 ) => Promise < boolean > ,
40- private readonly getVariantAnalysisStatus : (
40+ private readonly getVariantAnalysis : (
4141 variantAnalysisId : number ,
42- ) => VariantAnalysisStatus ,
42+ ) => VariantAnalysis ,
4343 ) {
4444 super ( ) ;
4545 }
@@ -60,20 +60,28 @@ export class VariantAnalysisMonitor extends DisposableObject {
6060
6161 this . monitoringVariantAnalyses . add ( variantAnalysis . id ) ;
6262 try {
63- await this . _monitorVariantAnalysis ( variantAnalysis ) ;
63+ await this . _monitorVariantAnalysis (
64+ variantAnalysis . id ,
65+ variantAnalysis . controllerRepo . id ,
66+ variantAnalysis . executionStartTime ,
67+ variantAnalysis . query . name ,
68+ variantAnalysis . language ,
69+ ) ;
6470 } finally {
6571 this . monitoringVariantAnalyses . delete ( variantAnalysis . id ) ;
6672 }
6773 }
6874
6975 private async _monitorVariantAnalysis (
70- variantAnalysis : VariantAnalysis ,
76+ variantAnalysisId : number ,
77+ controllerRepoId : number ,
78+ executionStartTime : number ,
79+ queryName : string ,
80+ language : QueryLanguage ,
7181 ) : Promise < void > {
72- const variantAnalysisLabel = `${ variantAnalysis . query . name } (${
73- variantAnalysis . language
74- } ) [${ new Date ( variantAnalysis . executionStartTime ) . toLocaleString (
75- env . language ,
76- ) } ]`;
82+ const variantAnalysisLabel = `${ queryName } (${ language } ) [${ new Date (
83+ executionStartTime ,
84+ ) . toLocaleString ( env . language ) } ]`;
7785
7886 let attemptCount = 0 ;
7987 const scannedReposDownloaded : number [ ] = [ ] ;
@@ -83,16 +91,16 @@ export class VariantAnalysisMonitor extends DisposableObject {
8391 while ( attemptCount <= VariantAnalysisMonitor . maxAttemptCount ) {
8492 await sleep ( VariantAnalysisMonitor . sleepTime ) ;
8593
86- if ( await this . shouldCancelMonitor ( variantAnalysis . id ) ) {
94+ if ( await this . shouldCancelMonitor ( variantAnalysisId ) ) {
8795 return ;
8896 }
8997
9098 let variantAnalysisSummary : ApiVariantAnalysis ;
9199 try {
92100 variantAnalysisSummary = await getVariantAnalysis (
93101 this . app . credentials ,
94- variantAnalysis . controllerRepo . id ,
95- variantAnalysis . id ,
102+ controllerRepoId ,
103+ variantAnalysisId ,
96104 ) ;
97105 } catch ( e ) {
98106 const errorMessage = getErrorMessage ( e ) ;
@@ -123,15 +131,10 @@ export class VariantAnalysisMonitor extends DisposableObject {
123131 continue ;
124132 }
125133
126- // Get the current status of the variant analysis as known by the rest
127- // of the app, because it may have been changed by the user and this code
128- // may not be aware of it yet.
129- const currentStatus = this . getVariantAnalysisStatus ( variantAnalysis . id ) ;
130- variantAnalysis = mapUpdatedVariantAnalysis (
131- {
132- ...variantAnalysis ,
133- status : currentStatus ,
134- } ,
134+ const variantAnalysis = mapUpdatedVariantAnalysis (
135+ // Get the variant analysis as known by the rest of the app, because it may
136+ // have been changed by the user and the monitors may not be aware of it yet.
137+ this . getVariantAnalysis ( variantAnalysisId ) ,
135138 variantAnalysisSummary ,
136139 ) ;
137140
0 commit comments