Decision 033

Queue versus cron for background work

Context

Background processing is often bolted on without matching the failure model.

Decision

Cron for predictable schedules and idempotent batch work. Queues for decoupled event processing with retry/backoff semantics.

Trade-offs

Cron is operationally simple on shared hosting. Queues are more robust for spikes but may require infrastructure not available in every environment.

When I would reconsider

On constrained hosting, prefer cron-invoked PHP workers with idempotent jobs over introducing persistent queue infrastructure.