@@ -98,9 +98,6 @@ process.on("uncaughtException", function (error, origin) {
9898 }
9999} ) ;
100100
101- const usageIntervalMs = getEnvVar ( "USAGE_HEARTBEAT_INTERVAL_MS" ) ;
102- const usageEventUrl = getEnvVar ( "USAGE_EVENT_URL" ) ;
103- const triggerJWT = getEnvVar ( "TRIGGER_JWT" ) ;
104101const heartbeatIntervalMs = getEnvVar ( "HEARTBEAT_INTERVAL_MS" ) ;
105102
106103const standardLocalsManager = new StandardLocalsManager ( ) ;
@@ -112,17 +109,8 @@ lifecycleHooks.setGlobalLifecycleHooksManager(standardLifecycleHooksManager);
112109const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager ( ) ;
113110runTimelineMetrics . setGlobalManager ( standardRunTimelineMetricsManager ) ;
114111
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-
125112resourceCatalog . setGlobalResourceCatalog ( new StandardResourceCatalog ( ) ) ;
113+
126114const durableClock = new DurableClock ( ) ;
127115clock . setGlobalClock ( durableClock ) ;
128116const runMetadataManager = new StandardMetadataManager (
@@ -258,6 +246,12 @@ const zodIpc = new ZodIpcConnection({
258246 } ) ;
259247 }
260248
249+ initializeUsageManager ( {
250+ usageIntervalMs : getEnvVar ( "USAGE_HEARTBEAT_INTERVAL_MS" ) ,
251+ usageEventUrl : getEnvVar ( "USAGE_EVENT_URL" ) ,
252+ triggerJWT : getEnvVar ( "TRIGGER_JWT" ) ,
253+ } ) ;
254+
261255 standardRunTimelineMetricsManager . registerMetricsFromExecution ( metrics ) ;
262256
263257 console . log ( `[${ new Date ( ) . toISOString ( ) } ] Received EXECUTE_TASK_RUN` , execution ) ;
@@ -509,7 +503,7 @@ async function flushAll(timeoutInMs: number = 10_000) {
509503async function flushUsage ( timeoutInMs : number = 10_000 ) {
510504 const now = performance . now ( ) ;
511505
512- await Promise . race ( [ prodUsageManager . flush ( ) , setTimeout ( timeoutInMs ) ] ) ;
506+ await Promise . race ( [ usage . flush ( ) , setTimeout ( timeoutInMs ) ] ) ;
513507
514508 const duration = performance . now ( ) - now ;
515509
@@ -551,6 +545,26 @@ async function flushMetadata(timeoutInMs: number = 10_000) {
551545 } ;
552546}
553547
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+
554568const managedWorkerRuntime = new ManagedRuntimeManager ( zodIpc , true ) ;
555569
556570runtime . setGlobalRuntimeManager ( managedWorkerRuntime ) ;
0 commit comments