Nesta aplicação iremos boas práticas com o Laravel Horizon afim de melhor o seu uso em ambientes de produção.
Acesse comandos úteis do Docker para aplicação
- Redis
- Laravel Horizon
- Supervisor
Ajustes necessários:
.env
-> DefinirAPP_ENV
a chave para o valor deproduction
.env
-> DefinirQUEUE_CONNECTION
a chave para o valor deredis
.env
-> Adicionar chaveHORIZON_BASIC_AUTH_USERNAME
, o valor será utilizado como usuário de login ao painel do horizon..env
-> Adicionar chaveHORIZON_BASIC_AUTH_PASSWORD
, o valor será utilizado como senha de login ao painel do horizon.app/Providers/HorizonServiceProvider.php
-> Comentar o métodogate
app/Providers/HorizonServiceProvider.php
-> Implementar métodoauthorization
HorizonBasicAuthMiddleware
-> Executar no CLI o comandophp artisan make:middleware HorizonBasicAuthMiddleware
app/Http/Middleware/HorizonBasicAuthMiddleware.php
-> Implementar o métodohandle
config/horizon.php
-> Adicionar campobasic_auth
com as chaves e valoresusername
igual àenv('HORIZON_BASIC_AUTH_USERNAME', 'horizon'),
epassword
igual àenv('HORIZON_BASIC_AUTH_PASSWORD', 'password')
config/horizon.php
-> Adicionar emmiddleware
o valorhorizonBasicAuth
app/Http/Kernel.php
-> Adicionar emmiddlewareAliases
a chave ehorizonBasicAuth
com valor\App\Http\Middleware\HorizonBasicAuthMiddleware::class
.env
-> DefinirQUEUE_CONNECTION
a chave para o valor deredis
config/database.php
-> Criar conexão Redishorizon
config/horizon.php
-> Alterar Horizon Redis Connection
config/horizon.php
-> Realizar ajustes emmetrics
etrim
app/Console/Kernel.php
-> Implementar emschedule
com o comando$schedule->command('horizon:snapshot')->everyFiveMinutes();
config/horizon.php
-> Aplicar filas
config/horizon.php
-> Ajustarbalance
paraauto
supervisor
-> Realizar configurações para mais 'programs' e vincular a filas.
- Alterar path do Horizon.
.env
aplicar variavelHORIZON_PATH
com valor igual ao caminho desejado. - Aplicar tags em Jobs
- Aplicar ShouldBeUnique ou ShouldBeUniqueUntilProcessing
- Comandos do supervisor
- CronJob
- Criar Job
- Quantidade de Processos
- Dúvidas