Laravel Horizon
Horizon proporciona un dashboard elegante y un sistema de configuracion para las colas de Redis en Laravel. Permite monitorizar en tiempo real el rendimiento de los jobs, tiempos de espera, throughput y fallos.
Instalacion
composer require laravel/horizon
php artisan horizon:install
Configuracion
// config/horizon.php
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default', 'emails', 'notifications'],
'balance' => 'auto', // Balanceo automatico de workers
'minProcesses' => 1,
'maxProcesses' => 10,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
'tries' => 3,
'timeout' => 300,
],
],
],
Ejecutar Horizon
php artisan horizon
Dashboard
El dashboard web (accesible en /horizon) muestra:
- Jobs completados, fallidos y pendientes
- Throughput y tiempos de ejecucion
- Metricas por job y por cola
- Historial de jobs fallidos con opcion de reintento
- Estado de los supervisores y workers
Horizon es imprescindible para aplicaciones en produccion que usan colas de Redis intensivamente. El balanceo automatico de workers ajusta los recursos segun la carga de cada cola.