Tutoriel de Laravel Horizon

Tutoriel de Laravel Horizon
L'ensemble de Laravel Horizon est utilisé pour gérer les files d'attente de Laravel. Il offre un bon tableau de bord pour les files d'attente. Ce package permet aux utilisateurs de configurer des travaux, de générer des analyses et de surveiller les différents types de tâches liées aux files d'attente, y compris le temps d'exécution, l'échec, le débit, etc. Les informations de configuration de tous les membres de l'équipe du projet sont stockées dans un seul fichier qui peut être contrôlé de manière centralisée. Ce package est gratuit dans le projet Laravel, mais il n'est pas inclus avec le code de base. Donc, vous devez d'abord installer ce package avant de l'utiliser. Cet article vous montre certaines des différentes caractéristiques de Laravel Horizon et comment installer et exécuter Laravel Horizon pour gérer les files d'attente Laravel en utilisant un joli tableau de bord.

Caractéristiques:

Certaines caractéristiques importantes de Laravel Horizon sont mentionnées ci-dessous:

  • C'est un package open-source
  • Il montre toutes les files d'attente et les informations de travail à l'aide d'un beau tableau de bord.
  • Il fournit des informations sur les emplois en attente, les emplois terminés et les emplois échoués.
  • Il fournit des files d'attente et des informations sur l'emploi à l'aide de mesures.
  • Il surveille les travaux en utilisant des balises.

Commandes d'horizon:

Certaines commandes d'horizon sont mentionnées ci-dessous pour contrôler l'horizon en cours d'exécution.

La commande suivante est utilisée pour suspendre le processus de l'horizon.

$ php artisan horizon: pause

La commande suivante est utilisée pour reprendre le processus d'horizon pause.

$ php artisan horizon: continuer

La commande suivante est utilisée pour vérifier l'état actuel du processus d'horizon.

$ php artisan horizon: statut

La commande suivante est utilisée pour terminer le processus d'horizon. L'horizon se terminera après avoir terminé tous les travaux de course.

$ php artisan horizon: terminer

Installez l'horizon:

Conditions préalables:

Vous devez installer un nouveau projet en utilisant la dernière version de Laravel avant de démarrer les étapes de l'installation de l'horizon. Les étapes sont affichées ici en utilisant Laravel 8.X.

Processus d'installation:

Exécutez la commande suivante à partir du terminal pour installer le package Horizon à l'aide du compositeur.

$ compositeur a besoin de Laravel / Horizon

Après avoir installé Horizon, publiez ses actifs à l'aide de la commande Horizon: Installer Artisan:

$ php artisan horizon: installer

prédis Le package est utilisé dans ce tutoriel pour utiliser Predis comme client redis . Exécutez la commande suivante pour installer le package Predis à l'aide du compositeur.

$ compositeur a besoin de Predis / Predis

ouvrir base de données.php Fichier qui est situé sous la configuration dossier et définissez la valeur du client comme indiqué ci-dessous.

'Client' => Env ('redis_client', 'Predis'),

Exécutez la commande suivante pour effacer le cache avant de démarrer l'horizon.

$ cache d'artisan PHP: Clear

Exécutez la commande suivante pour démarrer l'horizon.

$ php artisan horizon

La sortie suivante apparaîtra si l'horizon est installé et fonctionne correctement.

Configuration basée sur le code:

Il offre la possibilité de collaborer facilement avec les membres de l'équipe de projet lorsque vous travaillez avec des files d'attente. Différents types de paramètres peuvent être définis en utilisant la file d'attente: la commande de travail artisan. config / horizon.Le fichier de configuration PHP est utilisé pour définir différentes configurations. Ouvrir horizon.php Fichier pour vérifier les paramètres par défaut. Le Configuration des travailleurs de la file d'attente La section de ce fichier contient le paramètre suivant.

'defaults' => [
'superviseur-1' => [
'connexion' => 'redis',
'file d'attente' => ['default'],
'Balance' => 'Auto',
'maxprocesss' => 1,
'essais' => 1,
'Nice' => 0,
]],
]],
'Environments' => [
'production' => [
'superviseur-1' => [
'maxprocesss' => 10,
'BalanceMaxShift' => 1,
'BalanceCooldown' => 3,
]],
]],
'local' => [
'superviseur-1' => [
'maxprocesss' => 3,
]],
]],
]],

Ici, la valeur de l'équilibre peut être simple ou auto ou nul. Quand simple est défini pour l'équilibre, puis le processus se séparera entre deux files d'attente. Quand l'auto est défini pour l'équilibre, puis il équilibre les files d'attente en fonction des travaux restants et du temps d'attente moyen. Si une file d'attente devient occupée, l'horizon recherchera les travailleurs disponibles et les transfère dans la file d'attente pour terminer la tâche rapidement. Si l'option d'équilibre est définie sur NULL, le superviseur utilisera un seul pool de travailleurs pour traiter les travaux en cours d'exécution. Un superviseur est défini ici par défaut. Mais il est possible d'attribuer plusieurs superviseurs et la connexion particulière, les files d'attente, le mécanisme d'équilibrage, etc. peut être défini pour chaque superviseur.

Si vous souhaitez vérifier le paramètre par défaut de le redis pilote de connexion puis ouvrez la config /file d'attente.php déposer. Le Redis La section de ce fichier contient le paramètre suivant.

'redis' => [
'Driver' => 'redis',
'connexion' => 'par défaut',
'file d'attente' => env ('redis_queue', 'par défaut'),
'retRy_after' => 90,
'block_for' => null,
]],

Selon le paramètre, si aucun travail n'est attribué, l'état de la file d'attente restera par défaut. Ici, la valeur de Retry_after indique que la file d'attente redémarrera après 90 secondes. Vous pouvez augmenter ou diminuer les valeurs en fonction de l'exigence.

Open Horizon Dashboard:

Exécutez l'URL suivante du navigateur pour voir les différentes informations liées à la file d'attente du tableau de bord Horizon.

http: // localhost: 8000 / horizon /

La sortie suivante apparaîtra si l'horizon fonctionne correctement. La sortie montre que l'horizon est actif maintenant, un superviseur et une file d'attente par défaut sont définis et qu'aucun travail n'est encore affecté.

Modifier la section par défaut de l'horizon.php fichier avec le code suivant.

'defaults' => [
'superviseur-1' => [
'connexion' => 'redis',
'file d'attente' => ['par défaut', 'e-mail'],
'Timeout' => 30,
'sommeil' => 3,
'Balance' => 'Auto',
'minprocesss' => 1,
'maxprocesss' => 10,
'essais' => 1,
'Nice' => 0,
]],
]],

Ici, une autre file d'attente, e-mail est ajouté, temps libre est réglé à 30 secondes, dormir est réglé sur 3 secondes, processements est défini sur 1, et maxet est réglé sur 10. Pour activer ces paramètres, vous devez arrêter l'horizon d'exécution, effacer le cache de configuration et recommencer l'horizon. Presse ctrl + c Pour résilier l'horizon de course. Exécutez les commandes suivantes pour effacer le cache de configuration et recommencer l'horizon.

$ PHP CONFIG ARTISAN: CACHE
$ php artisan horizon

Exécutez à nouveau l'URL suivante à partir du navigateur pour vérifier la sortie en fonction du nouveau paramètre.

http: // localhost: 8000 / horizon /

La sortie suivante apparaîtra dans le navigateur basé sur le paramètre actuel.

Conclusion:

Le processus d'installation et la manière d'exécuter l'horizon sont principalement mis en évidence dans ce tutoriel. Vous devez créer un travail et l'attribuer à une file d'attente pour connaître les utilisations détaillées de l'horizon qui n'est pas couverte dans cet article. Cet article aidera les utilisateurs de Laravel à installer l'horizon et à commencer à travailler avec lui.