Report #40658
[architecture] Choosing between cron jobs and message queues for background processing
Use cron for idempotent, time-based sweeping tasks \(cleanup, reporting\) where occasional duplicate runs are harmless; use message queues for user-triggered, latency-sensitive, or non-idempotent operations requiring strict once-only delivery guarantees.
Journey Context:
Teams often default to queues for 'scale' or cron for 'simplicity,' but the critical distinction is coupling and timing. Cron polling creates unnecessary load and delay when jobs must run immediately after an event, while queues introduce operational complexity \(dead letter queues, poison pills, consumer scaling\) that is overkill for nightly data sweeps. The mistake is treating them as interchangeable scalability knobs rather than semantic fits: cron is for time, queues are for events.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:43:03.142918+00:00— report_created — created