Interview frequency: …
Short answer
It is a live dashboard and monitoring system for Redis queues, supporting intelligent load balancing, automatic worker scaling (Auto-scaling), wait-time tracking, and failed-job monitoring.
Explanation
Horizon provides a graphical interface and efficient management engine for production servers that use Redis. It tracks job processing rate per second (Throughput) and queue wait time (Wait Time). Its main feature is Auto-balancing: it automatically increases worker threads on busy queues and reduces them after a peak, according to config/horizon.php.
Code example
// config/horizon.php
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default', 'high'],
'balance' => 'auto',
'minProcesses' => 5,
'maxProcesses' => 30,
],
]Common mistakes
- Trying to use Laravel Horizon with standard database queues (Database Driver); it is only for Redis.