0Pricing
PHP Academy · Lección

Monitorización de colas con Laravel Horizon

Instale Horizon y observe el rendimiento de las colas y los jobs fallidos.

Monitorización de colas con Laravel Horizon es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.

¿Qué es Horizon?

Laravel Horizon proporciona un atractivo panel y un sistema de configuración para colas respaldadas por Redis, con métricas en tiempo real, seguimiento del rendimiento y supervisión de jobs.

Instalar Horizon

Instálelo mediante Composer y publique los recursos.

$ composer require laravel/horizon
$ php artisan horizon:install
$ php artisan migrate

Iniciar Horizon

Inicie Horizon como un único proceso de larga duración (reemplaza a queue:work).

$ php artisan horizon

Acceder al panel

El panel de Horizon está disponible de forma predeterminada en /horizon. En producción, restrinja el acceso únicamente a los usuarios autorizados mediante un Gate.

<?php
// In HorizonServiceProvider:
Horizon::auth(function ($request) {
    return $request->user()?->isAdmin() ?? false;
});

Configuración de horizon.php

Configure los trabajadores (entornos, supervisores, prioridades de las colas y cantidad de trabajadores) en config/horizon.php.

// config/horizon.php
"environments" => [
    "production" => [
        "supervisor-1" => [
            "connection" => "redis",
            "queue"      => ["emails", "default"],
            "processes"  => 10,
            "balance"    => "auto",
        ]
    ]
]

Supervisores y equilibrio

Los supervisores de Horizon gestionan grupos de trabajadores. Con "balance" => "auto", Horizon ajusta automáticamente la cantidad de trabajadores según la profundidad de la cola.

Panel de métricas

El panel de Horizon muestra: jobs por minuto, jobs fallidos, tiempos de espera, jobs recientes y estadísticas por cola.

Etiquetar Jobs

Etiquete los jobs para facilitar su supervisión y filtrado en el panel.

<?php
public function tags(): array
{
    return ["user:".$this->user->id, "email"];
}
// Then filter by tag in the Horizon dashboard

Trabajos fallidos en Horizon

Consulte los trabajos fallidos junto con sus excepciones y trazas de pila. Reintente trabajos fallidos individuales directamente desde el panel o mediante Artisan.

$ php artisan horizon:forget <uuid>
$ php artisan horizon:retry-failed

Ejecución en producción con Supervisor

Utilice Linux Supervisor para mantener en ejecución el proceso de Horizon y reiniciarlo si se bloquea.

[program:horizon]
command=php /srv/app/artisan horizon
autorestart=true
stdout_logfile=/var/log/horizon.log

Pausar y continuar

Pause Horizon durante las implementaciones para vaciar la cola correctamente y, después, continúe la ejecución.

$ php artisan horizon:pause
$ php artisan horizon:continue
$ php artisan horizon:terminate

Resumen

Horizon reemplaza los workers de cola por un único proceso y un panel atractivo. Configure el número de workers en config/horizon.php. Utilice Supervisor en producción para mantener Horizon activo.

Comprobación rápida

¿Qué comando inicia Laravel Horizon?

Preguntas frecuentes

¿La lección «Monitorización de colas con Laravel Horizon» es gratis?

Sí — el texto completo de «Monitorización de colas con Laravel Horizon» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Monitorización de colas con Laravel Horizon»?

Instale Horizon y observe el rendimiento de las colas y los jobs fallidos. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar PHP Academy?

No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Monitorización de colas con Laravel Horizon»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de PHP Academy?

Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos y controladores de colas
  2. Creación y envío de jobs
  3. Reintentos, retrasos y encadenamiento de jobs
  4. Monitorización de colas con Laravel Horizon
← Volver a PHP Academy