GlosarioDespliegue

¿Qué es Horizon?

Laravel Horizon es un dashboard y sistema de configuracion para colas de Redis en Laravel que proporciona monitorizacion en tiempo real, metricas, reintentos de jobs fallidos y balanceo automatico de workers.

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.