@@ -87,6 +87,10 @@ class ManagedSupervisor {
8787 } ) ;
8888
8989 if ( env . TRIGGER_CHECKPOINT_URL ) {
90+ this . logger . log ( "[ManagedWorker] 🥶 Checkpoints enabled" , {
91+ checkpointUrl : env . TRIGGER_CHECKPOINT_URL ,
92+ } ) ;
93+
9094 this . checkpointClient = new CheckpointClient ( {
9195 apiUrl : new URL ( env . TRIGGER_CHECKPOINT_URL ) ,
9296 workerClient : this . workerSession . httpClient ,
@@ -126,8 +130,13 @@ class ManagedSupervisor {
126130 if ( message . checkpoint ) {
127131 this . logger . log ( "[ManagedWorker] Restoring run" , { runId : message . run . id } ) ;
128132
133+ if ( ! this . checkpointClient ) {
134+ this . logger . error ( "[ManagedWorker] No checkpoint client" , { runId : message . run . id } ) ;
135+ return ;
136+ }
137+
129138 try {
130- const didRestore = await this . checkpointClient ? .restoreRun ( {
139+ const didRestore = await this . checkpointClient . restoreRun ( {
131140 runFriendlyId : message . run . friendlyId ,
132141 snapshotFriendlyId : message . snapshot . friendlyId ,
133142 checkpoint : message . checkpoint ,
@@ -214,33 +223,41 @@ class ManagedSupervisor {
214223
215224 const warmStartUrlWithPath = new URL ( "/warm-start" , this . warmStartUrl ) ;
216225
217- const res = await fetch ( warmStartUrlWithPath . href , {
218- method : "POST" ,
219- headers : {
220- "Content-Type" : "application/json" ,
221- } ,
222- body : JSON . stringify ( { dequeuedMessage } ) ,
223- } ) ;
224-
225- if ( ! res . ok ) {
226- this . logger . error ( "[ManagedWorker] Warm start failed" , {
227- runId : dequeuedMessage . run . id ,
226+ try {
227+ const res = await fetch ( warmStartUrlWithPath . href , {
228+ method : "POST" ,
229+ headers : {
230+ "Content-Type" : "application/json" ,
231+ } ,
232+ body : JSON . stringify ( { dequeuedMessage } ) ,
228233 } ) ;
229- return false ;
230- }
231234
232- const data = await res . json ( ) ;
233- const parsedData = z . object ( { didWarmStart : z . boolean ( ) } ) . safeParse ( data ) ;
235+ if ( ! res . ok ) {
236+ this . logger . error ( "[ManagedWorker] Warm start failed" , {
237+ runId : dequeuedMessage . run . id ,
238+ } ) ;
239+ return false ;
240+ }
241+
242+ const data = await res . json ( ) ;
243+ const parsedData = z . object ( { didWarmStart : z . boolean ( ) } ) . safeParse ( data ) ;
234244
235- if ( ! parsedData . success ) {
236- this . logger . error ( "[ManagedWorker] Warm start response invalid" , {
245+ if ( ! parsedData . success ) {
246+ this . logger . error ( "[ManagedWorker] Warm start response invalid" , {
247+ runId : dequeuedMessage . run . id ,
248+ data,
249+ } ) ;
250+ return false ;
251+ }
252+
253+ return parsedData . data . didWarmStart ;
254+ } catch ( error ) {
255+ this . logger . error ( "[ManagedWorker] Warm start error" , {
237256 runId : dequeuedMessage . run . id ,
238- data ,
257+ error ,
239258 } ) ;
240259 return false ;
241260 }
242-
243- return parsedData . data . didWarmStart ;
244261 }
245262
246263 async start ( ) {
0 commit comments