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 migrateIniciando o Horizon
Inicie o Horizon como um único processo de longa duração (substitui queue:work).
$ php artisan horizonAcessando 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 dashboardTarefas 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-failedExecutando 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.logPausando 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:terminateResumo
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
- Conceitos e drivers de filas
- Criação e despacho de tarefas
- Novas tentativas, atrasos e encadeamento de tarefas
- Monitoramento de filas com Laravel Horizon