Características:
Algunas características importantes del horizonte de Laravel se mencionan a continuación:
- Es un paquete de código abierto
- Muestra todas las colas y la información del trabajo mediante un hermoso panel.
- Proporciona información sobre trabajos pendientes, trabajos completados y trabajos fallidos.
- Proporciona colas e información de trabajos mediante métricas.
- Supervisa los trabajos mediante el uso de etiquetas.
Comandos de horizonte:
Algunos comandos de horizonte se mencionan a continuación para controlar el horizonte en ejecución.
El siguiente comando se usa para pausar el proceso de horizonte.
$ php artisan horizon: pausaEl siguiente comando se utiliza para reanudar el proceso de horizonte en pausa.
$ php artisan horizon: continuarEl siguiente comando se usa para verificar el estado actual del proceso de horizonte.
$ php artisan horizon: estadoEl siguiente comando se usa para terminar el proceso de horizonte. El horizonte terminará después de completar todos los trabajos en ejecución.
$ php artisan horizon: terminarInstalar Horizon:
Requisitos previos:
Tienes que instalar un nuevo proyecto usando la última versión de Laravel antes de comenzar los pasos de instalación del horizonte. Los pasos se muestran aquí usando Laravel 8.X.
Proceso de instalación:
Ejecute el siguiente comando desde la terminal para instalar el paquete horizon usando el compositor.
$ composer requiere laravel / horizonDespués de instalar Horizon, publique sus activos usando el comando horizon: install artisan:
$ php artisan horizon: instalarpredis El paquete se usa en este tutorial para usar predis como cliente de Redis . Ejecute el siguiente comando para instalar el paquete predis usando composer.
$ composer requiere predis / predisabierto base de datos.php archivo que se encuentra debajo la configuración carpeta y establezca el valor de la cliente Como se muestra abajo.
'cliente' => env ('REDIS_CLIENT', 'predis'),Ejecute el siguiente comando para borrar el caché antes de iniciar el horizonte.
$ php caché artesanal: borrarEjecute el siguiente comando para iniciar el horizonte.
$ php horizonte artesanalEl siguiente resultado aparecerá si el horizonte está instalado y funciona correctamente.
Configuración basada en código:
Brinda la oportunidad de colaborar fácilmente con los miembros del equipo del proyecto cuando se trabaja con colas. Se pueden establecer diferentes tipos de configuraciones usando la cola: comando de trabajo artesanal. config / horizon.El archivo de configuración php se usa para establecer diferentes configuraciones. Abierto horizonte.php archivo para comprobar la configuración predeterminada. La Configuración del trabajador de cola sección de este archivo contiene la siguiente configuración.
'defaults' => ['supervisor-1' => [
'conexión' => 'redis',
'cola' => ['predeterminado'],
'balance' => 'auto',
'maxProcesses' => 1,
'intentos' => 1,
'agradable' => 0,
],
],
'entornos' => [
'producción' => [
'supervisor-1' => [
'maxProcesses' => 10,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
],
],
'local' => [
'supervisor-1' => [
'maxProcesses' => 3,
],
],
],
Aquí, el valor del saldo puede ser sencillo o auto o nulo. Cuándo sencillo está configurado para el equilibrio, entonces el proceso se dividirá en dos colas. Cuándo el auto está configurado para el equilibrio, luego equilibra los trabajadores de la cola en función de los trabajos restantes y el tiempo de espera promedio. Si alguna cola se llena, el horizonte buscará los trabajadores disponibles y los transferirá a la cola para completar la tarea rápidamente. Si la opción de saldo se establece en nula, el supervisor utilizará un solo grupo de trabajadores para procesar los trabajos en ejecución. Aquí se define un supervisor de forma predeterminada. Pero es posible asignar varios supervisores y la conexión, las colas, el mecanismo de equilibrio, etc. se puede definir para cada supervisor.
Si desea comprobar la configuración predeterminada de los Redis controlador de conexión, luego abra la configuración /cola.php expediente. La Redis sección de este archivo contiene la siguiente configuración.
'redis' => ['driver' => 'redis',
'conexión' => 'predeterminado',
'cola' => env ('REDIS_QUEUE', 'predeterminado'),
'retry_after' => 90,
'block_for' => nulo,
],
Según la configuración, si no se asigna ningún trabajo, el estado de la cola seguirá siendo el predeterminado. Aquí, el valor de retry_after indica que la cola se reiniciará después de 90 segundos. Puede aumentar o disminuir los valores según el requisito.
Panel de control abierto de Horizon:
Ejecute la siguiente URL desde el navegador para ver la diferente información relacionada con la cola desde el panel de horizonte.
http: // localhost: 8000 / horizon /
La siguiente salida aparecerá si el horizonte está funcionando correctamente. El resultado muestra que el horizonte está activo ahora, un supervisor y la cola predeterminada están definidos y aún no se ha asignado ningún trabajo.
Modificar la sección predeterminada de el horizonte.php archivo con el siguiente código.
'defaults' => ['supervisor-1' => [
'conexión' => 'redis',
'queue' => ['predeterminado', 'correo electrónico'],
'tiempo de espera' => 30,
'dormir' => 3,
'balance' => 'auto',
'minProcesses' => 1,
'maxProcesses' => 10,
'intentos' => 1,
'agradable' => 0,
],
],
Aquí otra cola, Email está agregado, se acabó el tiempo está configurado en 30 segundos, dormir está configurado en 3 segundos, minProcesses se establece en 1, y maxProcesses está configurado en 10. Para activar esta configuración, debe detener el horizonte en ejecución, borrar la caché de configuración y comenzar el horizonte nuevamente. prensa ctrl + c para terminar el horizonte en ejecución. Ejecute los siguientes comandos para borrar la caché de configuración e iniciar el horizonte nuevamente.
$ php artisan config: caché$ php horizonte artesanal
Ejecute la siguiente URL desde el navegador nuevamente para verificar el resultado según la nueva configuración.
http: // localhost: 8000 / horizon /
El siguiente resultado aparecerá en el navegador basado en la configuración actual.
Conclusión:
El proceso de instalación y la forma de ejecutar el horizonte se destacan principalmente en este tutorial. Tienes que crear un trabajo y asignarlo a una cola para conocer los usos detallados del horizonte que no se tratan en este artículo. Este artículo ayudará a los usuarios de Laravel a instalar el horizonte y comenzar a trabajar con él.