diff --git a/apps/dokploy/server/api/routers/schedule.ts b/apps/dokploy/server/api/routers/schedule.ts index 8629d7546..a7417a92c 100644 --- a/apps/dokploy/server/api/routers/schedule.ts +++ b/apps/dokploy/server/api/routers/schedule.ts @@ -141,6 +141,7 @@ export const scheduleRouter = createTRPCRouter({ cronSchedule: updatedSchedule.cronExpression, scheduleId: updatedSchedule.scheduleId, type: "schedule", + timezone: updatedSchedule.timezone, }); } } else { @@ -185,6 +186,7 @@ export const scheduleRouter = createTRPCRouter({ cronSchedule: scheduleItem.cronExpression, scheduleId: scheduleItem.scheduleId, type: "schedule", + timezone: scheduleItem.timezone, }); } else { removeScheduleJob(scheduleItem.scheduleId); diff --git a/apps/schedules/src/index.ts b/apps/schedules/src/index.ts index a5f0fd47c..28eacbe1c 100644 --- a/apps/schedules/src/index.ts +++ b/apps/schedules/src/index.ts @@ -60,6 +60,7 @@ app.post("/update-backup", zValidator("json", jobQueueSchema), async (c) => { scheduleId: data.scheduleId, type: "schedule", cronSchedule: job.pattern || "", + timezone: job.tz || data.timezone, }); } else if (data.type === "volume-backup") { result = await removeJob({ diff --git a/apps/schedules/src/queue.ts b/apps/schedules/src/queue.ts index 7b0c48315..3d9b2c802 100644 --- a/apps/schedules/src/queue.ts +++ b/apps/schedules/src/queue.ts @@ -66,9 +66,10 @@ export const removeJob = async (data: QueueJob) => { return result; } if (data.type === "schedule") { - const { scheduleId, cronSchedule } = data; + const { scheduleId, cronSchedule, timezone } = data; const result = await jobQueue.removeRepeatable(scheduleId, { pattern: cronSchedule, + tz: timezone || "UTC", }); return result; }