Características:
Algumas características importantes do horizonte do Laravel são mencionadas abaixo:
- É um pacote de código aberto
- Ele mostra todas as filas e informações de trabalho usando um belo painel.
- Ele fornece informações sobre trabalhos pendentes, trabalhos concluídos e trabalhos com falha.
- Ele fornece filas e informações de trabalho usando métricas.
- Ele monitora os trabalhos usando tags.
Comandos Horizon:
Alguns comandos de horizonte são mencionados abaixo para controlar o horizonte de execução.
O seguinte comando é usado para pausar o processo do horizonte.
horizonte de $ php artisan: pauseO seguinte comando é usado para retomar o processo de horizonte pausado.
Horizonte de $ php artisan: continueO seguinte comando é usado para verificar o status atual do processo de horizonte.
horizonte de $ php artisan: statusO seguinte comando é usado para encerrar o processo de horizonte. O horizonte terminará após a conclusão de todos os trabalhos em execução.
horizonte de $ php artisan: encerrarInstale o Horizon:
Pré-requisitos:
Você deve instalar um novo projeto usando a última versão do Laravel antes de iniciar as etapas de instalação do horizonte. Os passos são mostrados aqui usando o Laravel 8.x.
Processo de instalação:
Execute o seguinte comando no terminal para instalar o pacote horizon usando o composer.
$ composer requer laravel / horizonteDepois de instalar o Horizon, publique seus ativos usando o comando horizon: install artisan:
$ php artisan horizon: installPredis pacote é usado neste tutorial para usar predis como cliente Redis . Execute o seguinte comando para instalar o pacote Predis usando o composer.
$ composer requer predis / predisabrir 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 artisan cache: clearExecute o seguinte comando para iniciar o horizonte.
horizonte de $ php artisanA seguinte saída aparecerá se o horizonte estiver instalado e funcionar corretamente.
Configuração baseada em código:
Ele fornece 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 o comando queue: work artisan. configuração / horizonte.arquivo de configuração php é usado para definir configurações diferentes. Abrir horizonte.php arquivo para verificar as configurações padrão. O Configuração do trabalhador de fila seção deste arquivo contém a seguinte configuração.
'padrões' => ['supervisor-1' => [
'conexão' => 'redis',
'fila' => ['padrão'],
'equilíbrio' => 'auto',
'maxProcesses' => 1,
'tentativas' => 1,
'bom' => 0,
],
],
'ambientes' => [
'produção' => [
'supervisor-1' => [
'maxProcesses' => 10,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
],
],
'local' => [
'supervisor-1' => [
'maxProcesses' => 3,
],
],
],
Aqui, o valor do saldo pode ser simples ou auto ou nulo. Quando simples está definido para equilíbrio, então o processo será dividido entre duas filas. Quando o auto é definido para equilíbrio, em seguida, ele equilibra os trabalhadores da fila com base nos trabalhos restantes e tempo médio de espera. Se alguma fila ficar ocupada, o horizonte irá procurar os trabalhadores disponíveis e transferi-los para a fila para concluir a tarefa rapidamente. Se a opção de equilíbrio for definida como nula, o supervisor usará um único pool de trabalhadores para processar os trabalhos em execução. Um supervisor é definido aqui por padrão. Mas é possível atribuir vários supervisores e a conexão particular, filas, mecanismo de balanceamento, etc. pode ser definido para cada supervisor.
Se você quiser verificar a configuração padrão de o Redis driver de conexão, em seguida, abra o config /fila.php Arquivo. O Redis seção deste arquivo contém a seguinte configuração.
'redis' => ['driver' => 'redis',
'conexão' => 'padrão',
'fila' => env ('REDIS_QUEUE', 'padrão'),
'retry_after' => 90,
'block_for' => null,
],
De acordo com a configuração, se nenhum trabalho for atribuído, o status da fila permanecerá o 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.
Painel do Open Horizon:
Execute a seguinte URL no navegador para ver as diferentes informações relacionadas à fila no painel do horizonte.
http: // localhost: 8000 / horizon /
A seguinte saída aparecerá se o horizonte estiver funcionando corretamente. A saída mostra que o horizonte está ativo agora, um supervisor e uma fila padrão estão definidos e nenhum trabalho foi atribuído ainda.
Modifique 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'],
'tempo limite' => 30,
'dormir' => 3,
'equilíbrio' => 'auto',
'minProcesses' => 1,
'maxProcesses' => 10,
'tentativas' => 1,
'bom' => 0,
],
],
Aqui, outra fila, o email Está adicionado, tempo esgotado está definido para 30 segundos, dormir está definido para 3 segundos, minProcessos é definido como 1, e maxProcesses está definido para 10. Para ativar essas configurações, você deve interromper o horizonte de execução, limpar o cache de configuração e iniciar o horizonte novamente. Aperte ctrl + c para encerrar o horizonte de execução. Execute os seguintes comandos para limpar o cache de configuração e iniciar o horizonte novamente.
$ php artisan config: cachehorizonte $ php artisan
Execute o seguinte URL no navegador novamente para verificar a saída com base na nova configuração.
http: // localhost: 8000 / horizon /
A seguinte saída aparecerá no navegador com base na configuração atual.
Conclusão:
O processo de instalação e a forma de executar o horizonte são principalmente destacados neste tutorial. Você deve criar um trabalho e atribuí-lo a uma fila para saber 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 a trabalhar com ele.