/** * convex/crons.ts * * Zeitgesteuerte Ausführung. Prüft regelmäßig auf fällige Kampagnen * (nextRunAt <= now) und stößt je einen Lauf an. */ import { cronJobs } from "convex/server"; import { internal } from "./_generated/api"; const crons = cronJobs(); crons.interval( "fällige Kampagnen ausführen", { minutes: 15 }, internal.campaigns.runDueCampaigns, {}, ); crons.daily( "audit-lifecycle", { hourUTC: 3, minuteUTC: 0 }, internal.audits.processLifecycle, {}, ); export default crons;