Queues Fail Silently Without the Right Defaults
Many Laravel outages are not HTTP failures—they are queue workers dying under memory pressure while jobs pile up. Horizon gives visibility, but only if supervisors are tuned for your workload.
Supervisor Settings That Matter
- Set
memorylimits per worker and enable graceful restarts - Separate
high,default, andlowqueues for checkout vs. reporting jobs - Scale
maxProcessesby environment, not copy-paste from tutorials
Alerting on Failed Jobs
Connect Horizon metrics to Slack or PagerDuty. LaravelOps recommends alerting when failed-job rate exceeds baseline for 5 consecutive minutes.
We implement Horizon as part of managed Laravel DevOps engagements.