Fix index failure completion override

This commit is contained in:
nicktrn
2024-06-29 19:23:32 +01:00
parent 5ae3da6b4e
commit b171fde483
4 changed files with 32 additions and 38 deletions
+1
View File
@@ -540,6 +540,7 @@ const taskMonitor = new TaskMonitor({
message: details.reason,
stack: details.logs,
},
overrideCompletion: details.overrideCompletion,
});
} catch (error) {
logger.error(error);
+1 -1
View File
@@ -267,7 +267,7 @@ function createProviderNamespace(io: Server) {
try {
const service = new DeploymentIndexFailed();
await service.call(message.deploymentId, message.error);
await service.call(message.deploymentId, message.error, message.overrideCompletion);
} catch (e) {
logger.error("Error while indexing", { error: e });
}
+29 -36
View File
@@ -9,7 +9,7 @@ import {
TaskRunFailedExecutionResult,
WaitReason,
} from "@trigger.dev/core/v3";
import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket";
import { InferSocketMessageSchema, ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket";
import { HttpReply, getRandomPortNumber } from "@trigger.dev/core-apps/http";
import { SimpleLogger } from "@trigger.dev/core-apps/logger";
import { EXIT_CODE_ALREADY_HANDLED, EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core-apps/process";
@@ -629,6 +629,19 @@ class ProdWorker {
}
if (process.env.INDEX_TASKS === "true") {
const failIndex = (
error: InferSocketMessageSchema<
typeof ProdWorkerToCoordinatorMessages,
"INDEXING_FAILED"
>["error"]
) => {
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error,
});
};
try {
const taskResources = await this.#initializeWorker();
@@ -655,15 +668,11 @@ class ProdWorker {
tasks: e.tasks,
});
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error: {
name: "TaskMetadataParseError",
message: "There was an error parsing the task metadata",
stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks }),
stderr,
},
failIndex({
name: "TaskMetadataParseError",
message: "There was an error parsing the task metadata",
stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks }),
stderr,
});
} else if (e instanceof UncaughtExceptionError) {
const error = {
@@ -675,11 +684,7 @@ class ProdWorker {
logger.error("uncaught exception", { originalError: error });
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error,
});
failIndex(error);
} else if (e instanceof Error) {
const error = {
name: e.name,
@@ -690,34 +695,22 @@ class ProdWorker {
logger.error("error", { error });
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error,
});
failIndex(error);
} else if (typeof e === "string") {
logger.error("string error", { error: { message: e } });
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error: {
name: "Error",
message: e,
stderr,
},
failIndex({
name: "Error",
message: e,
stderr,
});
} else {
logger.error("unknown error", { error: e });
socket.emit("INDEXING_FAILED", {
version: "v1",
deploymentId: this.deploymentId,
error: {
name: "Error",
message: "Unknown error",
stderr,
},
failIndex({
name: "Error",
message: "Unknown error",
stderr,
});
}
+1 -1
View File
@@ -347,7 +347,7 @@ export const ProviderToPlatformMessages = {
stack: z.string().optional(),
stderr: z.string().optional(),
}),
overrideCompletion: z.string().optional(),
overrideCompletion: z.boolean().optional(),
}),
},
};