Merge remote-tracking branch 'refs/remotes/origin/canary' into feature/custom-entrypoint

# Conflicts:
#	apps/dokploy/drizzle/meta/0130_snapshot.json
#	apps/dokploy/drizzle/meta/_journal.json
This commit is contained in:
mkarpats
2025-12-09 12:00:58 +02:00
14 changed files with 7158 additions and 25 deletions

View File

@@ -49,6 +49,7 @@ export const schedules = pgTable("schedule", {
onDelete: "cascade",
}),
enabled: boolean("enabled").notNull().default(true),
timezone: text("timezone"),
createdAt: text("createdAt")
.notNull()
.$defaultFn(() => new Date().toISOString()),

View File

@@ -14,11 +14,21 @@ import { execAsyncRemote } from "../process/execAsync";
import { spawnAsync } from "../process/spawnAsync";
export const scheduleJob = (schedule: Schedule) => {
const { cronExpression, scheduleId } = schedule;
const { cronExpression, scheduleId, timezone } = schedule;
scheduleJobNode(scheduleId, cronExpression, async () => {
await runCommand(scheduleId);
});
// Use timezone from schedule, default to UTC if not specified
const tz = timezone || "UTC";
scheduleJobNode(
scheduleId,
{
tz,
rule: cronExpression,
},
async () => {
await runCommand(scheduleId);
},
);
};
export const removeScheduleJob = (scheduleId: string) => {