Skip to content

Commit 37aadfc

Browse files
authored
We can use TaskRun error instead of attempt. Faster and works across v3/v4 (#2031)
1 parent 6736cb5 commit 37aadfc

File tree

2 files changed

+8
-49
lines changed

2 files changed

+8
-49
lines changed

apps/webapp/app/v3/services/alerts/deliverAlert.server.ts

Lines changed: 6 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import { sendAlertEmail } from "~/services/email.server";
3434
import { logger } from "~/services/logger.server";
3535
import { decryptSecret } from "~/services/secrets/secretStore.server";
3636
import { commonWorker } from "~/v3/commonWorker.server";
37-
import { FINAL_ATTEMPT_STATUSES } from "~/v3/taskStatus";
3837
import { BaseService } from "../baseService.server";
3938
import { generateFriendlyId } from "~/v3/friendlyIdentifiers";
4039
import { type ProjectAlertChannelType, type ProjectAlertType } from "@trigger.dev/database";
@@ -53,13 +52,6 @@ type FoundAlert = Prisma.Result<
5352
};
5453
};
5554
environment: true;
56-
taskRunAttempt: {
57-
include: {
58-
taskRun: true;
59-
backgroundWorkerTask: true;
60-
backgroundWorker: true;
61-
};
62-
};
6355
taskRun: {
6456
include: {
6557
lockedBy: true;
@@ -78,13 +70,7 @@ type FoundAlert = Prisma.Result<
7870
};
7971
},
8072
"findUniqueOrThrow"
81-
> & {
82-
failedAttempt?: Prisma.Result<
83-
typeof prisma.taskRunAttempt,
84-
{ select: { output: true; outputType: true; error: true } },
85-
"findFirst"
86-
>;
87-
};
73+
>;
8874

8975
class SkipRetryError extends Error {}
9076

@@ -100,13 +86,6 @@ export class DeliverAlertService extends BaseService {
10086
},
10187
},
10288
environment: true,
103-
taskRunAttempt: {
104-
include: {
105-
taskRun: true,
106-
backgroundWorkerTask: true,
107-
backgroundWorker: true,
108-
},
109-
},
11089
taskRun: {
11190
include: {
11291
lockedBy: true,
@@ -133,24 +112,6 @@ export class DeliverAlertService extends BaseService {
133112
return;
134113
}
135114

136-
if (alert.taskRun) {
137-
const finishedAttempt = await this._prisma.taskRunAttempt.findFirst({
138-
select: {
139-
output: true,
140-
outputType: true,
141-
error: true,
142-
},
143-
where: {
144-
status: { in: FINAL_ATTEMPT_STATUSES },
145-
taskRunId: alert.taskRun.id,
146-
},
147-
orderBy: {
148-
createdAt: "desc",
149-
},
150-
});
151-
alert.failedAttempt = finishedAttempt;
152-
}
153-
154115
try {
155116
switch (alert.channel.type) {
156117
case "EMAIL": {
@@ -1014,18 +975,18 @@ export class DeliverAlertService extends BaseService {
1014975
}
1015976

1016977
#getRunError(alert: FoundAlert): TaskRunError {
1017-
if (alert.failedAttempt) {
1018-
const res = TaskRunError.safeParse(alert.failedAttempt.error);
978+
if (alert.taskRun) {
979+
const res = TaskRunError.safeParse(alert.taskRun.error);
1019980

1020981
if (!res.success) {
1021982
logger.error("[DeliverAlert] Failed to parse task run error, sending with unknown error", {
1022983
issues: res.error.issues,
1023-
taskAttemptError: alert.failedAttempt.error,
984+
taskRunError: alert.taskRun.error,
1024985
});
1025986

1026987
return {
1027988
type: "CUSTOM_ERROR",
1028-
raw: JSON.stringify(alert.failedAttempt.error ?? "Unknown error"),
989+
raw: JSON.stringify(alert.taskRun.error ?? "Unknown error"),
1029990
};
1030991
}
1031992

@@ -1034,7 +995,7 @@ export class DeliverAlertService extends BaseService {
1034995

1035996
return {
1036997
type: "CUSTOM_ERROR",
1037-
raw: "No error on attempt",
998+
raw: "No error on run",
1038999
};
10391000
}
10401001

apps/webapp/app/v3/services/alerts/performTaskRunAlerts.server.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import { type Prisma, type ProjectAlertChannel } from "@trigger.dev/database";
2-
import { $transaction, type PrismaClientOrTransaction, type prisma } from "~/db.server";
3-
import { workerQueue } from "~/services/worker.server";
4-
import { generateFriendlyId } from "~/v3/friendlyIdentifiers";
2+
import { type prisma } from "~/db.server";
3+
import { commonWorker } from "~/v3/commonWorker.server";
54
import { BaseService } from "../baseService.server";
65
import { DeliverAlertService } from "./deliverAlert.server";
7-
import { commonWorker } from "~/v3/commonWorker.server";
86

97
type FoundRun = Prisma.Result<
108
typeof prisma.taskRun,

0 commit comments

Comments
 (0)