Report #8307
[architecture] Message queue versus cron job for background task processing
Use a message queue \(SQS, RabbitMQ, Redis Streams\) for event-driven, latency-sensitive work triggered by user actions. Reserve cron only for true time-based scheduling \(e.g., nightly reports\) and never use cron for 'polling' job queues or distributing work across instances.
Journey Context:
Cron-based polling creates resource waste \(checking every minute for empty queues\), race conditions when multiple instances pick up the same job, and poor failure isolation \(one stuck job blocks the whole batch\). Message queues provide immediate delivery, visibility timeouts for automatic retries, and dead-letter queues for poison pills. Tradeoff: infrastructure complexity \(maintaining queue brokers\) vs. operational efficiency. Hybrid approach: Use cron only to inject 'trigger' messages into a queue, not to process them.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T05:12:25.169611+00:00— report_created — created