Skip to content

Commit b4061f2

Browse files
committed
fix dev dependecy resumes
1 parent 5eaf7bc commit b4061f2

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

apps/webapp/app/v3/services/batchTriggerTask.server.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,28 @@ export class BatchTriggerTaskService extends BaseService {
5454
})
5555
: undefined;
5656

57+
if (dependentAttempt && environment.type === "DEVELOPMENT") {
58+
// The dev worker handles dependency resumes and attempt completions in parallel, so we need to clear any existing ones here to prevent race conditions
59+
const existingBatch = await this._prisma.batchTaskRun.findUnique({
60+
where: {
61+
dependentTaskAttemptId: dependentAttempt.id,
62+
},
63+
});
64+
65+
if (existingBatch) {
66+
await this._prisma.batchTaskRun.update({
67+
where: {
68+
id: existingBatch.id,
69+
},
70+
data: {
71+
dependentTaskAttempt: {
72+
disconnect: true,
73+
},
74+
},
75+
});
76+
}
77+
}
78+
5779
const batch = await this._prisma.batchTaskRun.create({
5880
data: {
5981
friendlyId: generateFriendlyId("batch"),

apps/webapp/app/v3/services/triggerTask.server.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,28 @@ export class TriggerTaskService extends BaseService {
147147
});
148148

149149
if (dependentAttempt) {
150+
if (environment.type === "DEVELOPMENT") {
151+
// The dev worker handles dependency resumes and attempt completions in parallel, so we need to clear any existing ones here to prevent race conditions
152+
const existingDependency = await tx.taskRunDependency.findUnique({
153+
where: {
154+
dependentAttemptId: dependentAttempt.id,
155+
},
156+
});
157+
158+
if (existingDependency) {
159+
await tx.taskRunDependency.update({
160+
where: {
161+
id: existingDependency.id,
162+
},
163+
data: {
164+
dependentAttempt: {
165+
disconnect: true,
166+
},
167+
},
168+
});
169+
}
170+
}
171+
150172
await tx.taskRunDependency.create({
151173
data: {
152174
taskRunId: taskRun.id,

0 commit comments

Comments
 (0)