Report #68657
[architecture] Cron job or task queue for background processing?
Use cron only for clock-driven work \(e.g., 'daily at 2am'\). Use task queues for event-driven or user-triggered background work. Never use cron for high-frequency polling \(e.g., 'every minute check for new files'\); use webhooks or queues with push semantics instead.
Journey Context:
Cron creates resource-wasting polling architectures \(checking every minute for work that arrives randomly\) and singleton bottlenecks \(hard to scale horizontally without complex distributed locking to prevent double execution\). Queues provide natural backpressure, immediate processing, and horizontal scaling by adding workers. The only valid use for cron is time-based triggers \(daily reports, cleanup jobs\). Even then, architect cron to enqueue to the queue rather than executing business logic directly, separating scheduling from execution for scalability and testability. Avoid 'cron as a queue' anti-patterns like inserting rows into a database table that another process polls—this is just a broken queue implementation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T21:43:39.317890+00:00— report_created — created