@@ -25,7 +25,7 @@ export async function scaleUpChron(): Promise<void> {
25
25
const minAutoScaleupDelayMinutes = 30 ;
26
26
// Only proactively scale up the jobs that have been queued for longer than normal
27
27
queuedJobs = queuedJobs . filter ( ( runner ) => {
28
- return runner . min_queue_time_min >= minAutoScaleupDelayMinutes &&
28
+ return runner . min_queue_time_minutes >= minAutoScaleupDelayMinutes &&
29
29
runner . org === Config . Instance . scaleConfigOrg ;
30
30
} ) ;
31
31
@@ -41,29 +41,34 @@ export async function scaleUpChron(): Promise<void> {
41
41
return {
42
42
"id" : Math . floor ( Math . random ( ) * 100000000000000 ) ,
43
43
"eventType" : "workflow_job" ,
44
- "repositoryName" : runner . full_repo . split ( '/' ) [ 1 ] ,
44
+ "repositoryName" : runner . repo ,
45
45
"repositoryOwner" : runner . org ,
46
- }
46
+ "runnerLabels" : [ runner . runner_label ] ,
47
+ } ;
48
+ } ) ;
49
+
50
+ if ( ! Config . Instance . scaleUpRecordQueueUrl ) {
51
+ throw new Error ( 'scaleUpRecordQueueUrl is not set. Cannot send scale up requests' ) ;
47
52
}
48
53
49
- sqsSendMessages ( metrics , queuedJobs , Config . Instance . scaleUpRecordQueueUrl ) ;
54
+ await sqsSendMessages ( metrics , scaleUpRequests , Config . Instance . scaleUpRecordQueueUrl ) ;
50
55
}
51
56
52
57
class QueuedJobsForRunner {
53
58
runner_label : string ;
54
59
org : string ;
55
- full_repo : string ;
60
+ repo : string ;
56
61
num_queued_jobs : number ;
57
- min_queue_time_min : number ;
58
- max_queue_time_min : number ;
62
+ min_queue_time_minutes : number ;
63
+ max_queue_time_minutes : number ;
59
64
60
- constructor ( runner_label : string , org : string , full_repo : string , num_queued_jobs : number , min_queue_time_min : number , max_queue_time_min : number ) {
65
+ constructor ( runner_label : string , org : string , repo : string , num_queued_jobs : number , min_queue_time_minutes : number , max_queue_time_minutes : number ) {
61
66
this . runner_label = runner_label ;
62
67
this . org = org ;
63
- this . full_repo = full_repo ;
68
+ this . repo = repo ;
64
69
this . num_queued_jobs = num_queued_jobs ;
65
- this . min_queue_time_min = min_queue_time_min ;
66
- this . max_queue_time_min = max_queue_time_min ;
70
+ this . min_queue_time_minutes = min_queue_time_minutes ;
71
+ this . max_queue_time_minutes = max_queue_time_minutes ;
67
72
}
68
73
}
69
74
@@ -81,10 +86,10 @@ export async function getQueuedJobs(): Promise<QueuedJobsForRunner[]> {
81
86
return new QueuedJobsForRunner (
82
87
runner . runner_label ,
83
88
runner . org ,
84
- runner . full_repo ,
89
+ runner . repo ,
85
90
runner . num_queued_jobs ,
86
- runner . min_queue_time_min ,
87
- runner . max_queue_time_min ) ;
91
+ runner . min_queue_time_minutes ,
92
+ runner . max_queue_time_minutes ) ;
88
93
} ) ;
89
94
return queued_runners ;
90
95
} catch ( error ) {
0 commit comments