# Cron Operations | Job | Schedule | Authority / boundedness | Idempotency | |---|---|---|---| | Notification cleanup | configured source schedule | DB records; retention bounded | repeated delete safe | | Inventory reservation expiry | frequent | batch-limited DB scan | reservation state/event key | | Checkout expiry | frequent | batch-limited DB scan | checkout/reservation state | | Loyalty reconciliation | scheduled | configured batch | ledger event IDs | | Support SLA + recommendation retention | every 5 minutes | 100 SLA / 1,000 event max | deterministic escalation key / old-event deletion | Cron starts only when the deployment enables `RUN_CRON`; use one dedicated scheduler replica. Current jobs use local `noOverlap` where available but do not all have a distributed lock, so multi-instance cron is prohibited until staging validates/implements Redis locking. All times are server/UTC clock time unless a domain snapshot says otherwise.