0Pricing
PHP Academy · Leçon

Notions de file d’attente et pilotes

Comprendre le traitement asynchrone et configurer des pilotes de file d’attente avec une base de données ou Redis.

Notions de file d’attente et pilotes est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Que sont les files d’attente ?

Les files d’attente permettent de différer les tâches lentes ou exigeantes en ressources (envoi d’e-mails, redimensionnement d’images, appels à des API externes) vers des processus d’arrière-plan, afin de conserver des réponses HTTP rapides.

Architecture des files d’attente

Le processus principal (serveur web) place les tâches dans une file d’attente. Des processus d’exécution distincts récupèrent et exécutent les tâches de manière asynchrone.

Pilotes de files d’attente disponibles

Laravel prend en charge plusieurs mécanismes de file d’attente :

  • database — tâches stockées dans la base de données (idéal pour commencer)
  • redis — rapide et prêt pour la production
  • sqs — service simple de files d’attente AWS
  • beanstalkd — rapide et léger
  • sync — exécution immédiate (développement local)

Configurer le pilote de file d’attente

Définissez le pilote dans .env.

# .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379

Configuration du pilote de base de données

Si vous utilisez le pilote de base de données, créez la table des tâches.

$ php artisan queue:table
$ php artisan migrate

Démarrer un processus d’exécution

Le processus d’exécution récupère et exécute les tâches de la file d’attente.

$ php artisan queue:work
# Or specify connection and queue:
$ php artisan queue:work redis --queue=emails,default

queue:listen et queue:work

queue:work charge l’application une seule fois et traite les tâches en mémoire — il est plus rapide, mais nécessite un redémarrage du processus après chaque modification du code. queue:listen recharge l’application pour chaque tâche — ce qui est plus pratique en développement.

Tâches échouées

Lorsqu’une tâche échoue après toutes les nouvelles tentatives, elle est stockée dans la table failed_jobs. Affichez-la et relancez-la avec Artisan.

$ php artisan queue:failed
$ php artisan queue:retry all
$ php artisan queue:flush

Priorités des files d’attente

Définissez plusieurs files d’attente nommées et attribuez-leur des priorités lors du démarrage du processus d’exécution.

$ php artisan queue:work --queue=high,default,low
# Worker checks high first, then default, then low

Tableau de bord Horizon

Pour les files d’attente Redis, Laravel Horizon fournit un élégant tableau de bord en temps réel affichant le débit, les tâches échouées et les statistiques des processus d’exécution.

Choisir un pilote

Utilisez sync en local, database pour les petits projets et redis à l’échelle de la production. Évitez SQS, sauf si vous utilisez déjà AWS et avez besoin d’une mise à l’échelle illimitée.

Résumé

Les files d’attente délestent les tâches lentes vers des processus d’arrière-plan. Configurez le pilote dans .env, créez les tâches avec Artisan et démarrez les processus avec queue:work. Surveillez les tâches échouées dans la table failed_jobs.

Vérification rapide

Quel pilote de file d’attente exécute les tâches immédiatement dans le même processus ?

Questions Fréquemment Posées

La leçon « Notions de file d’attente et pilotes » est-elle gratuite ?

Oui — le texte complet de « Notions de file d’attente et pilotes » 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 « Notions de file d’attente et pilotes » ?

Comprendre le traitement asynchrone et configurer des pilotes de file d’attente avec une base de données ou Redis. 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 1 sur 4.

Combien de temps prend la leçon « Notions de file d’attente et pilotes » ?

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

  1. Notions de file d’attente et pilotes
  2. Créer et distribuer des tâches
  3. Nouvelles tentatives, délais et chaînage de tâches
  4. Surveiller les files d’attente avec Laravel Horizon
← Retour à PHP Academy