@@ -98,9 +98,6 @@ process.on("uncaughtException", function (error, origin) {
98
98
}
99
99
} ) ;
100
100
101
- const usageIntervalMs = getEnvVar ( "USAGE_HEARTBEAT_INTERVAL_MS" ) ;
102
- const usageEventUrl = getEnvVar ( "USAGE_EVENT_URL" ) ;
103
- const triggerJWT = getEnvVar ( "TRIGGER_JWT" ) ;
104
101
const heartbeatIntervalMs = getEnvVar ( "HEARTBEAT_INTERVAL_MS" ) ;
105
102
106
103
const standardLocalsManager = new StandardLocalsManager ( ) ;
@@ -112,17 +109,8 @@ lifecycleHooks.setGlobalLifecycleHooksManager(standardLifecycleHooksManager);
112
109
const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager ( ) ;
113
110
runTimelineMetrics . setGlobalManager ( standardRunTimelineMetricsManager ) ;
114
111
115
- const devUsageManager = new DevUsageManager ( ) ;
116
- const prodUsageManager = new ProdUsageManager ( devUsageManager , {
117
- heartbeatIntervalMs : usageIntervalMs ? parseInt ( usageIntervalMs , 10 ) : undefined ,
118
- url : usageEventUrl ,
119
- jwt : triggerJWT ,
120
- } ) ;
121
-
122
- usage . setGlobalUsageManager ( prodUsageManager ) ;
123
- timeout . setGlobalManager ( new UsageTimeoutManager ( devUsageManager ) ) ;
124
-
125
112
resourceCatalog . setGlobalResourceCatalog ( new StandardResourceCatalog ( ) ) ;
113
+
126
114
const durableClock = new DurableClock ( ) ;
127
115
clock . setGlobalClock ( durableClock ) ;
128
116
const runMetadataManager = new StandardMetadataManager (
@@ -258,6 +246,12 @@ const zodIpc = new ZodIpcConnection({
258
246
} ) ;
259
247
}
260
248
249
+ initializeUsageManager ( {
250
+ usageIntervalMs : getEnvVar ( "USAGE_HEARTBEAT_INTERVAL_MS" ) ,
251
+ usageEventUrl : getEnvVar ( "USAGE_EVENT_URL" ) ,
252
+ triggerJWT : getEnvVar ( "TRIGGER_JWT" ) ,
253
+ } ) ;
254
+
261
255
standardRunTimelineMetricsManager . registerMetricsFromExecution ( metrics ) ;
262
256
263
257
console . log ( `[${ new Date ( ) . toISOString ( ) } ] Received EXECUTE_TASK_RUN` , execution ) ;
@@ -509,7 +503,7 @@ async function flushAll(timeoutInMs: number = 10_000) {
509
503
async function flushUsage ( timeoutInMs : number = 10_000 ) {
510
504
const now = performance . now ( ) ;
511
505
512
- await Promise . race ( [ prodUsageManager . flush ( ) , setTimeout ( timeoutInMs ) ] ) ;
506
+ await Promise . race ( [ usage . flush ( ) , setTimeout ( timeoutInMs ) ] ) ;
513
507
514
508
const duration = performance . now ( ) - now ;
515
509
@@ -551,6 +545,26 @@ async function flushMetadata(timeoutInMs: number = 10_000) {
551
545
} ;
552
546
}
553
547
548
+ function initializeUsageManager ( {
549
+ usageIntervalMs,
550
+ usageEventUrl,
551
+ triggerJWT,
552
+ } : {
553
+ usageIntervalMs ?: string ;
554
+ usageEventUrl ?: string ;
555
+ triggerJWT ?: string ;
556
+ } ) {
557
+ const devUsageManager = new DevUsageManager ( ) ;
558
+ const prodUsageManager = new ProdUsageManager ( devUsageManager , {
559
+ heartbeatIntervalMs : usageIntervalMs ? parseInt ( usageIntervalMs , 10 ) : undefined ,
560
+ url : usageEventUrl ,
561
+ jwt : triggerJWT ,
562
+ } ) ;
563
+
564
+ usage . setGlobalUsageManager ( prodUsageManager ) ;
565
+ timeout . setGlobalManager ( new UsageTimeoutManager ( devUsageManager ) ) ;
566
+ }
567
+
554
568
const managedWorkerRuntime = new ManagedRuntimeManager ( zodIpc , true ) ;
555
569
556
570
runtime . setGlobalRuntimeManager ( managedWorkerRuntime ) ;
0 commit comments