import { cronJobs } from "convex/server" import { api } from "./_generated/api" const crons = cronJobs() // Flags to keep heavy jobs disabled until the Convex backend stabilizes. const reportsCronEnabled = process.env.REPORTS_CRON_ENABLED === "true" const autoPauseCronEnabled = process.env.AUTO_PAUSE_ENABLED === "true" if (reportsCronEnabled) { crons.interval( "report-export-runner", { minutes: 15 }, api.reports.triggerScheduledExports, {} ) } if (autoPauseCronEnabled) { crons.daily( "auto-pause-internal-lunch", { hourUTC: 15, minuteUTC: 0 }, api.tickets.pauseInternalSessionsForLunch, {} ) } // Cleanup de policies USB pendentes por mais de 1 hora (sem flag, sempre ativo) crons.interval( "cleanup-stale-usb-policies", { minutes: 30 }, api.usbPolicy.cleanupStalePendingPolicies, {} ) // Encerrar sessoes de chat inativas por mais de 5 minutos (sempre ativo) crons.interval( "auto-end-inactive-chat-sessions", { minutes: 1 }, api.liveChat.autoEndInactiveSessions, {} ) export default crons