Surveiller les files d’attente avec Laravel Horizon
Installer Horizon et observer le débit des files d’attente ainsi que les tâches échouées.
Surveiller les files d’attente avec Laravel Horizon est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.
Qu’est-ce que Horizon ?
Laravel Horizon fournit un élégant tableau de bord et un système de configuration pour les files d’attente utilisant Redis, avec des métriques en temps réel, un suivi du débit et une surveillance des tâches.
Installer Horizon
Installez-le avec Composer et publiez les ressources.
$ composer require laravel/horizon
$ php artisan horizon:install
$ php artisan migrateDémarrer Horizon
Démarrez Horizon comme un processus unique de longue durée (il remplace queue:work).
$ php artisan horizonAccéder au tableau de bord
Par défaut, le tableau de bord Horizon est disponible à l’adresse /horizon. En production, limitez l’accès aux utilisateurs autorisés.
<?php
// In HorizonServiceProvider:
Horizon::auth(function ($request) {
return $request->user()?->isAdmin() ?? false;
});Configuration de horizon.php
Configurez les processus d’exécution (environnements, superviseurs, priorités des files d’attente et nombre de processus) dans config/horizon.php.
// config/horizon.php
"environments" => [
"production" => [
"supervisor-1" => [
"connection" => "redis",
"queue" => ["emails", "default"],
"processes" => 10,
"balance" => "auto",
]
]
]Superviseurs et équilibrage
Les superviseurs Horizon gèrent des groupes de processus d’exécution. Avec "balance" => "auto", Horizon ajuste automatiquement le nombre de processus en fonction de la profondeur de la file d’attente.
Tableau des métriques
Le tableau de bord Horizon affiche : les tâches par minute, les tâches échouées, les temps d’attente, les tâches récentes et les statistiques de chaque file d’attente.
Étiqueter les tâches
Ajoutez des étiquettes aux tâches pour faciliter leur surveillance et leur filtrage dans le tableau de bord.
<?php
public function tags(): array
{
return ["user:".$this->user->id, "email"];
}
// Then filter by tag in the Horizon dashboardTâches échouées dans Horizon
Consultez les tâches ayant échoué avec leurs exceptions et leurs traces d’appels. Réessayez directement les tâches échouées individuellement depuis le tableau de bord ou via Artisan.
$ php artisan horizon:forget <uuid>
$ php artisan horizon:retry-failedExécution en production avec Supervisor
Utilisez Linux Supervisor pour maintenir le processus Horizon en cours d’exécution et le redémarrer s’il se bloque.
[program:horizon]
command=php /srv/app/artisan horizon
autorestart=true
stdout_logfile=/var/log/horizon.logMise en pause et reprise
Mettez Horizon en pause pendant les déploiements afin de vider la file d’attente correctement, puis reprenez son exécution.
$ php artisan horizon:pause
$ php artisan horizon:continue
$ php artisan horizon:terminateRésumé
Horizon remplace les travailleurs de file d’attente par un processus unique et un tableau de bord élégant. Configurez le nombre de travailleurs dans config/horizon.php. Utilisez Supervisor en production pour maintenir Horizon actif.
Vérification rapide
Quelle commande démarre Laravel Horizon ?
Apprends PHP avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 49
- Leçons
- 195
Questions Fréquemment Posées
La leçon « Surveiller les files d’attente avec Laravel Horizon » est-elle gratuite ?
Oui — le texte complet de « Surveiller les files d’attente avec Laravel Horizon » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Surveiller les files d’attente avec Laravel Horizon » ?
Installer Horizon et observer le débit des files d’attente ainsi que les tâches échouées. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer PHP Academy ?
Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Surveiller les files d’attente avec Laravel Horizon » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?
Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Notions de file d’attente et pilotes
- Créer et distribuer des tâches
- Nouvelles tentatives, délais et chaînage de tâches
- Surveiller les files d’attente avec Laravel Horizon