From e2b3372a4ff3241ad2202f3402929f90d0725ae9 Mon Sep 17 00:00:00 2001 From: Muhammad Umer Aamir <93091750+umeraamir69@users.noreply.github.com> Date: Sat, 14 Nov 2026 01:27:45 -0500 Subject: [PATCH] fix(schedule-engine): extend cron trigger retry budget across short DB outages A ~30s Postgres outage exhausted the old 5-attempt budget and dead-lettered schedule.triggerScheduledTask jobs, permanently breaking the next-tick chain. --- .../schedule-engine/src/engine/workerCatalog.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal-packages/schedule-engine/src/engine/workerCatalog.ts b/internal-packages/schedule-engine/src/engine/workerCatalog.ts index e351ed00dd0..8f43097b188 100644 --- a/internal-packages/schedule-engine/src/engine/workerCatalog.ts +++ b/internal-packages/schedule-engine/src/engine/workerCatalog.ts @@ -17,8 +17,13 @@ export const scheduleWorkerCatalog = { lastScheduleTime: z.coerce.date().optional(), }), visibilityTimeoutMs: 60_000, + // Longer than a short Postgres outage (~30–60s). With the redis-worker + // defaults this budget covers roughly 9–10 minutes before DLQ, so a brief + // DB blip delays a tick instead of permanently stopping the schedule chain. + // See https://github.com/triggerdotdev/trigger.dev/issues/5120 retry: { - maxAttempts: 5, + maxAttempts: 15, + maxTimeoutInMs: 60_000, }, }, };