@@ -14,7 +14,6 @@ import {
14
14
PreStopCauses ,
15
15
EnvironmentType ,
16
16
} from "@trigger.dev/core/v3" ;
17
- import { randomUUID } from "crypto" ;
18
17
import { TaskMonitor } from "./taskMonitor" ;
19
18
import { PodCleaner } from "./podCleaner" ;
20
19
import { UptimeHeartbeat } from "./uptimeHeartbeat" ;
@@ -41,7 +40,7 @@ type Namespace = {
41
40
} ;
42
41
} ;
43
42
44
- type ComputeResources = {
43
+ type ResourceQuantities = {
45
44
[ K in "cpu" | "memory" | "ephemeral-storage" ] ?: string ;
46
45
} ;
47
46
@@ -166,15 +165,7 @@ class KubernetesTaskOperations implements TaskOperations {
166
165
containerPort : 8000 ,
167
166
} ,
168
167
] ,
169
- resources : {
170
- requests : {
171
- ...this . #defaultResourceRequests,
172
- } ,
173
- limits : {
174
- ...this . #defaultResourceLimits,
175
- ...this . #getResourcesFromMachineConfig( opts . machine ) ,
176
- } ,
177
- } ,
168
+ resources : this . #getResourcesForMachine( opts . machine ) ,
178
169
lifecycle : {
179
170
preStop : {
180
171
exec : {
@@ -265,15 +256,7 @@ class KubernetesTaskOperations implements TaskOperations {
265
256
containerPort : 8000 ,
266
257
} ,
267
258
] ,
268
- resources : {
269
- requests : {
270
- ...this . #defaultResourceRequests,
271
- } ,
272
- limits : {
273
- ...this . #defaultResourceLimits,
274
- ...this . #getResourcesFromMachineConfig( opts . machine ) ,
275
- } ,
276
- } ,
259
+ resources : this . #getResourcesForMachine( opts . machine ) ,
277
260
lifecycle : {
278
261
postStart : {
279
262
exec : {
@@ -414,13 +397,13 @@ class KubernetesTaskOperations implements TaskOperations {
414
397
} ;
415
398
}
416
399
417
- get #defaultResourceRequests( ) : ComputeResources {
400
+ get #defaultResourceRequests( ) : ResourceQuantities {
418
401
return {
419
402
"ephemeral-storage" : "2Gi" ,
420
403
} ;
421
404
}
422
405
423
- get #defaultResourceLimits( ) : ComputeResources {
406
+ get #defaultResourceLimits( ) : ResourceQuantities {
424
407
return {
425
408
"ephemeral-storage" : "10Gi" ,
426
409
} ;
@@ -486,13 +469,33 @@ class KubernetesTaskOperations implements TaskOperations {
486
469
} ;
487
470
}
488
471
489
- #getResourcesFromMachineConfig( preset : MachinePreset ) : ComputeResources {
472
+ #getResourceRequestsForMachine( preset : MachinePreset ) : ResourceQuantities {
473
+ return {
474
+ cpu : `${ preset . cpu * 0.75 } ` ,
475
+ memory : `${ preset . memory } G` ,
476
+ } ;
477
+ }
478
+
479
+ #getResourceLimitsForMachine( preset : MachinePreset ) : ResourceQuantities {
490
480
return {
491
481
cpu : `${ preset . cpu } ` ,
492
482
memory : `${ preset . memory } G` ,
493
483
} ;
494
484
}
495
485
486
+ #getResourcesForMachine( preset : MachinePreset ) : k8s . V1ResourceRequirements {
487
+ return {
488
+ requests : {
489
+ ...this . #defaultResourceRequests,
490
+ ...this . #getResourceRequestsForMachine( preset ) ,
491
+ } ,
492
+ limits : {
493
+ ...this . #defaultResourceLimits,
494
+ ...this . #getResourceLimitsForMachine( preset ) ,
495
+ } ,
496
+ } ;
497
+ }
498
+
496
499
#getLifecycleCommand< THookType extends "postStart" | "preStop" > (
497
500
type : THookType ,
498
501
cause : THookType extends "postStart" ? PostStartCauses : PreStopCauses
0 commit comments