9
9
TaskRunFailedExecutionResult ,
10
10
WaitReason ,
11
11
} from "@trigger.dev/core/v3" ;
12
- import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket" ;
12
+ import { InferSocketMessageSchema , ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket" ;
13
13
import { HttpReply , getRandomPortNumber } from "@trigger.dev/core-apps/http" ;
14
14
import { SimpleLogger } from "@trigger.dev/core-apps/logger" ;
15
15
import { EXIT_CODE_ALREADY_HANDLED , EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core-apps/process" ;
@@ -629,6 +629,19 @@ class ProdWorker {
629
629
}
630
630
631
631
if ( process . env . INDEX_TASKS === "true" ) {
632
+ const failIndex = (
633
+ error : InferSocketMessageSchema <
634
+ typeof ProdWorkerToCoordinatorMessages ,
635
+ "INDEXING_FAILED"
636
+ > [ "error" ]
637
+ ) => {
638
+ socket . emit ( "INDEXING_FAILED" , {
639
+ version : "v1" ,
640
+ deploymentId : this . deploymentId ,
641
+ error,
642
+ } ) ;
643
+ } ;
644
+
632
645
try {
633
646
const taskResources = await this . #initializeWorker( ) ;
634
647
@@ -655,15 +668,11 @@ class ProdWorker {
655
668
tasks : e . tasks ,
656
669
} ) ;
657
670
658
- socket . emit ( "INDEXING_FAILED" , {
659
- version : "v1" ,
660
- deploymentId : this . deploymentId ,
661
- error : {
662
- name : "TaskMetadataParseError" ,
663
- message : "There was an error parsing the task metadata" ,
664
- stack : JSON . stringify ( { zodIssues : e . zodIssues , tasks : e . tasks } ) ,
665
- stderr,
666
- } ,
671
+ failIndex ( {
672
+ name : "TaskMetadataParseError" ,
673
+ message : "There was an error parsing the task metadata" ,
674
+ stack : JSON . stringify ( { zodIssues : e . zodIssues , tasks : e . tasks } ) ,
675
+ stderr,
667
676
} ) ;
668
677
} else if ( e instanceof UncaughtExceptionError ) {
669
678
const error = {
@@ -675,11 +684,7 @@ class ProdWorker {
675
684
676
685
logger . error ( "uncaught exception" , { originalError : error } ) ;
677
686
678
- socket . emit ( "INDEXING_FAILED" , {
679
- version : "v1" ,
680
- deploymentId : this . deploymentId ,
681
- error,
682
- } ) ;
687
+ failIndex ( error ) ;
683
688
} else if ( e instanceof Error ) {
684
689
const error = {
685
690
name : e . name ,
@@ -690,34 +695,22 @@ class ProdWorker {
690
695
691
696
logger . error ( "error" , { error } ) ;
692
697
693
- socket . emit ( "INDEXING_FAILED" , {
694
- version : "v1" ,
695
- deploymentId : this . deploymentId ,
696
- error,
697
- } ) ;
698
+ failIndex ( error ) ;
698
699
} else if ( typeof e === "string" ) {
699
700
logger . error ( "string error" , { error : { message : e } } ) ;
700
701
701
- socket . emit ( "INDEXING_FAILED" , {
702
- version : "v1" ,
703
- deploymentId : this . deploymentId ,
704
- error : {
705
- name : "Error" ,
706
- message : e ,
707
- stderr,
708
- } ,
702
+ failIndex ( {
703
+ name : "Error" ,
704
+ message : e ,
705
+ stderr,
709
706
} ) ;
710
707
} else {
711
708
logger . error ( "unknown error" , { error : e } ) ;
712
709
713
- socket . emit ( "INDEXING_FAILED" , {
714
- version : "v1" ,
715
- deploymentId : this . deploymentId ,
716
- error : {
717
- name : "Error" ,
718
- message : "Unknown error" ,
719
- stderr,
720
- } ,
710
+ failIndex ( {
711
+ name : "Error" ,
712
+ message : "Unknown error" ,
713
+ stderr,
721
714
} ) ;
722
715
}
723
716
0 commit comments