99 TaskRunFailedExecutionResult ,
1010 WaitReason ,
1111} from "@trigger.dev/core/v3" ;
12- import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket" ;
12+ import { InferSocketMessageSchema , ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket" ;
1313import { HttpReply , getRandomPortNumber } from "@trigger.dev/core-apps/http" ;
1414import { SimpleLogger } from "@trigger.dev/core-apps/logger" ;
1515import { EXIT_CODE_ALREADY_HANDLED , EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core-apps/process" ;
@@ -629,6 +629,19 @@ class ProdWorker {
629629 }
630630
631631 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+
632645 try {
633646 const taskResources = await this . #initializeWorker( ) ;
634647
@@ -655,15 +668,11 @@ class ProdWorker {
655668 tasks : e . tasks ,
656669 } ) ;
657670
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,
667676 } ) ;
668677 } else if ( e instanceof UncaughtExceptionError ) {
669678 const error = {
@@ -675,11 +684,7 @@ class ProdWorker {
675684
676685 logger . error ( "uncaught exception" , { originalError : error } ) ;
677686
678- socket . emit ( "INDEXING_FAILED" , {
679- version : "v1" ,
680- deploymentId : this . deploymentId ,
681- error,
682- } ) ;
687+ failIndex ( error ) ;
683688 } else if ( e instanceof Error ) {
684689 const error = {
685690 name : e . name ,
@@ -690,34 +695,22 @@ class ProdWorker {
690695
691696 logger . error ( "error" , { error } ) ;
692697
693- socket . emit ( "INDEXING_FAILED" , {
694- version : "v1" ,
695- deploymentId : this . deploymentId ,
696- error,
697- } ) ;
698+ failIndex ( error ) ;
698699 } else if ( typeof e === "string" ) {
699700 logger . error ( "string error" , { error : { message : e } } ) ;
700701
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,
709706 } ) ;
710707 } else {
711708 logger . error ( "unknown error" , { error : e } ) ;
712709
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,
721714 } ) ;
722715 }
723716
0 commit comments