Tutorial de Laravel Horizon

Tutorial de Laravel Horizon
O pacote Laravel Horizon é usado para gerenciar filas de Laravel. Ele fornece um painel bonito para as filas. Este pacote permite aos usuários configurar trabalhos, gerar análise e monitorar os diferentes tipos de tarefas relacionadas à fila, incluindo tempo de execução, falha, taxa de transferência, etc. As informações de configuração de todos os membros da equipe do projeto são armazenadas em um único arquivo que pode ser controlado centralmente. Este pacote é gratuito para usar no projeto Laravel, mas não está incluído no código principal. Então, você deve primeiro instalar este pacote antes de usá -lo. Este artigo mostra alguns dos diferentes recursos do Laravel Horizon e como instalar e executar o Laravel Horizon para gerenciar filas de Laravel usando um belo painel.

Características:

Algumas características importantes do Laravel Horizon são mencionadas abaixo:

  • É um pacote de código aberto
  • Ele mostra todas as filas e informações do trabalho usando um belo painel.
  • Ele fornece informações sobre empregos pendentes, empregos concluídos e trabalhos fracassados.
  • Ele fornece filas e informações de trabalho usando métricas.
  • Ele monitora os empregos usando tags.

Comandos Horizon:

Alguns comandos do horizonte são mencionados abaixo para controlar o horizonte em execução.

O comando a seguir é usado para pausar o processo do horizonte.

$ PHP Artisan Horizon: pausa

O comando a seguir é usado para retomar o processo do horizonte pausado.

$ php artesan Horizon: Continue

O comando a seguir é usado para verificar o status atual do processo do horizonte.

$ PHP Artisan Horizon: Status

O comando a seguir é usado para encerrar o processo do horizonte. O horizonte terminará após concluir todos os trabalhos de corrida.

$ php artesan Horizon: encerrar

Instale o Horizon:

Pré -requisitos:

Você precisa instalar um novo projeto usando a versão mais recente do Laravel antes de iniciar as etapas de instalar o horizonte. As etapas são mostradas aqui usando o Laravel 8.x.

Processo de instalação:

Execute o seguinte comando do terminal para instalar o pacote Horizon usando o compositor.

$ compositor requer laravel/horizonte

Depois de instalar o Horizon, publique seus ativos usando o horizonte: Instale o comando artisan:

$ php artesan Horizon: instalar

predis O pacote é usado neste tutorial para usar o Predis como cliente Redis . Execute o seguinte comando para instalar o pacote predis usando o compositor.

$ compositor requer predis/predis

abrir base de dados.php arquivo que está localizado em a configuração pasta e defina o valor do cliente como mostrado abaixo.

'cliente' => Env ('redis_client', 'predis'),

Execute o seguinte comando para limpar o cache antes de iniciar o horizonte.

$ php artesan cache: claro

Execute o seguinte comando para iniciar o horizonte.

$ php artesão horizonte

A saída a seguir aparecerá se o horizonte for instalado e funcionar corretamente.

Configuração baseada em código:

Ele oferece a oportunidade de colaborar facilmente com os membros da equipe do projeto ao trabalhar com filas. Diferentes tipos de configurações podem ser definidos usando a fila: comando artesão de trabalho. Config/Horizon.O arquivo de configuração do PHP é usado para definir diferentes configurações. Abrir horizonte.php arquivo para verificar as configurações padrão. O Configuração do trabalhador da fila A seção deste arquivo contém a seguinte configuração.

'Padrões' => [
'Supervisor-1' => [
'conexão' => 'redis',
'fila' => ['default'],
'Balance' => 'Auto',
'Maxprocessos' => 1,
'tenta' => 1,
'bom' => 0,
],
],
'Ambientes' => [
'Produção' => [
'Supervisor-1' => [
'Maxprocessos' => 10,
'BalancemaxShift' => 1,
'Balancecooldown' => 3,
],
],
'local' => [
'Supervisor-1' => [
'Maxprocessos' => 3,
],
],
],

Aqui, o valor do saldo pode ser simples ou auto ou nulo. Quando simples está definido para o equilíbrio, então o processo será dividido entre duas filas. Quando o automóvel está definido para o equilíbrio, então equilibra os trabalhadores da fila com base nos trabalhos restantes e no tempo de espera média. Se alguma fila ficar ocupada, o horizonte procurará os trabalhadores disponíveis e os transfere para a fila para concluir a tarefa rapidamente. Se a opção de equilíbrio estiver definida como NULL, o supervisor usará um único pool de trabalhadores para processar os trabalhos de corrida. Um supervisor é definido aqui por padrão. Mas é possível atribuir vários supervisores e a conexão específica, filas, mecanismo de equilíbrio, etc. pode ser definido para cada supervisor.

Se você quiser verificar a configuração padrão de os redis Driver de conexão então abra a configuração/fila.php arquivo. O Redis A seção deste arquivo contém a seguinte configuração.

'Redis' => [
'Driver' => 'Redis',
'conexão' => 'padrão',
'fila' => Env ('redis_queue', 'padrão'),
'ATRYY_AFTER' => 90,
'block_for' => nulo,
],

De acordo com a configuração, se nenhum trabalho for atribuído, o status da fila permanecerá padrão. Aqui, o valor de retry_after indica que a fila será reiniciada após 90 segundos. Você pode aumentar ou diminuir os valores com base no requisito.

Open Horizon Dashboard:

Execute o seguinte URL do navegador para ver as diferentes informações relacionadas à fila do painel Horizon.

http: // localhost: 8000/horizonte/

A saída a seguir aparecerá se o horizonte estiver funcionando corretamente. A saída mostra que o horizonte está ativo agora, um supervisor e uma fila padrão são definidos e nenhum trabalho é atribuído ainda.

Modificar a seção padrão de o horizonte.php Arquivo com o seguinte código.

'Padrões' => [
'Supervisor-1' => [
'conexão' => 'redis',
'fila' => ['padrão', 'email'],
'Timeout' => 30,
'sono' => 3,
'Balance' => 'Auto',
'Minprocessos' => 1,
'Maxprocessos' => 10,
'tenta' => 1,
'bom' => 0,
],
],

Aqui, outra fila, e-mail Está adicionado, tempo esgotado está definido para 30 segundos, dormir está definido para 3 segundos, minprocessos está definido como 1 e Maxprocessos está definido como 10. Para ativar essas configurações, você precisa parar o horizonte em execução, limpar o cache de configuração e iniciar o horizonte novamente. Imprensa Ctrl+c Para encerrar o horizonte em execução. Execute os seguintes comandos para limpar o cache de configuração e iniciar o horizonte novamente.

$ php artesan config: cache
$ php artesão horizonte

Execute o seguinte URL do navegador novamente para verificar a saída com base na nova configuração.

http: // localhost: 8000/horizonte/

A saída a seguir aparecerá no navegador baseado na configuração atual.

Conclusão:

O processo de instalação e a maneira de executar o horizonte são destacados principalmente neste tutorial. Você precisa criar um trabalho e atribuí -lo a uma fila para conhecer os usos detalhados do horizonte que não são abordados neste artigo. Este artigo ajudará os usuários do Laravel a instalar o horizonte e começarão a trabalhar com ele.