0Pricing
PHP Academy · Aula

Monitoramento de filas com Laravel Horizon

Instale o Horizon e observe o fluxo das filas e as tarefas que falharam.

Monitoramento de filas com Laravel Horizon é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

O que é o Horizon?

O Laravel Horizon fornece um belo painel e um sistema de configuração para filas baseadas em Redis, oferecendo métricas em tempo real, acompanhamento do fluxo de processamento e monitoramento de tarefas.

Instalando o Horizon

Instale-o pelo Composer e publique os recursos.

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

Iniciando o Horizon

Inicie o Horizon como um único processo de longa duração (substitui queue:work).

$ php artisan horizon

Acessando o painel

Por padrão, o painel do Horizon está disponível em /horizon. Em produção, restrinja o acesso apenas a usuários autorizados.

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

Configuração do horizon.php

Configure os trabalhadores (ambientes, supervisores, prioridades de fila e quantidade de trabalhadores) em config/horizon.php.

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

Supervisores e balanceamento

Os supervisores do Horizon gerenciam grupos de trabalhadores. Com "balance" => "auto", o Horizon ajusta automaticamente a escala dos trabalhadores com base no tamanho da fila.

Painel de métricas

O painel do Horizon mostra: tarefas por minuto, tarefas com falha, tempos de espera, tarefas recentes e estatísticas por fila.

Adicionando etiquetas às tarefas

Adicione etiquetas às tarefas para facilitar o monitoramento e a filtragem no painel.

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

Tarefas com falha no Horizon

Veja as tarefas que falharam, incluindo suas exceções e rastreamentos de pilha. Tente novamente tarefas individuais que falharam diretamente no painel ou via Artisan.

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

Executando em produção com Supervisor

Use o Supervisor do Linux para manter o processo do Horizon em execução e reiniciá-lo se ele falhar.

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

Pausando e continuando

Pause o Horizon durante as implantações para esvaziar a fila de forma controlada e depois continue.

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

Resumo

O Horizon substitui os trabalhadores de fila por um único processo e um belo painel. Configure a quantidade de trabalhadores em config/horizon.php. Use o Supervisor em produção para manter o Horizon ativo.

Verificação rápida

Qual comando inicia o Laravel Horizon?

Perguntas Frequentes

A aula “Monitoramento de filas com Laravel Horizon” é grátis?

Sim — o texto completo de “Monitoramento de filas com Laravel Horizon” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Monitoramento de filas com Laravel Horizon”?

Instale o Horizon e observe o fluxo das filas e as tarefas que falharam. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Monitoramento de filas com Laravel Horizon”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Conceitos e drivers de filas
  2. Criação e despacho de tarefas
  3. Novas tentativas, atrasos e encadeamento de tarefas
  4. Monitoramento de filas com Laravel Horizon
← Voltar para PHP Academy