Fix index failure completion override
This commit is contained in:
@@ -540,6 +540,7 @@ const taskMonitor = new TaskMonitor({
|
||||
message: details.reason,
|
||||
stack: details.logs,
|
||||
},
|
||||
overrideCompletion: details.overrideCompletion,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(error);
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@ export const ProviderToPlatformMessages = {
|
||||
stack: z.string().optional(),
|
||||
stderr: z.string().optional(),
|
||||
}),
|
||||
overrideCompletion: z.string().optional(),
|
||||
overrideCompletion: z.boolean().optional(),
|
||||
}),
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user