Traitement des taches asynchrones avec des files d'attente Laravel
Jul 13, 2025 am 03:00 AMLes files d'attente de Laravel gèrent les taches non imminées comme l'envoi de courriels ou la synchronisation des données en les traitant en arrière-plan. Pour configurer, choisissez un pilote de file d'attente - Sync pour le développement local, Redis ou la base de données pour la production, avec Redis préféré pour les applications à haut volume. Utilisez PHP Artisan Fitre: Table et migrer pour la configuration de la base de données ou installer Predis / Predis pour redis. Créer des travaux via PHP Artisan Make: Job, Type-hent dépendances, manipuler les échecs avec les tentatives et les étapes de journal. Exécutez des travailleurs à l'aide de la file d'attente PHP Artisan: Travail, spécifiez les connexions et réessayez les limites au besoin. Surveillez les travailleurs avec le superviseur et gérez les travaux défaillants à l'aide des outils intégrés de Laravel: Générez un tableau des travaux échoué, réessayez avec la file d'attente: Réessayez ou supprimez avec la file d'attente: oubliez. Une configuration et une surveillance appropriées garantissent une exécution de tache asynchrone en douceur.
Les files d'attente de Laravel sont un moyen solide de gérer les taches qui n'ont pas besoin de résultats immédiats - comme l'envoi de courriels, le traitement des images ou la synchronisation des données avec des services tiers. Au lieu de faire attendre les utilisateurs pendant que ceux-ci s'exécutent, vous les poussez en arrière-plan et laissez Laravel les gérer plus tard.

Configuration de votre pilote de file d'attente
Avant de plonger, assurez-vous que votre pilote de file d'attente est correctement configuré. Laravel prend en charge plusieurs pilotes: sync
, database
, redis
, beanstalkd
et même basés sur le cloud comme Amazon SQS.

Pour le développement local, sync
est bien car elle fonctionne tout immédiatement. Mais pour une utilisation réelle, optez pour redis
ou database
. Redis est plus rapide et meilleur pour les applications à volume élevé, tandis que le pilote de base de données est plus facile à configurer si vous n'êtes pas encore prêt pour Redis.
Pour changer de pilote:

- Ouvert
.env
- Changer
QUEUE_CONNECTION=sync
avecredis
oudatabase
Si vous utilisez le pilote de base de données, n'oubliez pas d'exécuter:
PHP Artisan Fitre: Table PHP Artisan Migrate
Et pour Redis, assurez-vous que le package predis/predis
est installé via le compositeur.
écrire des emplois qui fonctionnent bien
Une fois le pilote configuré, créez des travaux en utilisant:
PHP Artisan Make: Job ProcessPodcast
Cela vous donne une classe à l'intérieur app/Jobs
avec une méthode handle()
où va votre logique. Gardez cela propre et concentré - idéalement faire une chose bien.
Quelques conseils:
- Type-hent toutes les dépendances dont vous avez besoin dans le constructeur du travail; Laravel les résoudra automatiquement.
- Si le travail peut échouer (comme un appel API), envisagez d'utiliser des tentatives et des retards.
- Enregistrez toujours les étapes importantes - surtout si les choses échouent silencieusement.
Exemple de scénario: vous souhaitez envoyer un e-mail de bienvenue après l'inscription. Enveloppez cet e-mail envoyant un travail afin que l'utilisateur ne soit pas accroché à la page en l'attendant.
Courir et surveiller les travailleurs
Pour commencer à traiter les travaux, exécutez:
PHP Artisan Fitre: Travail
C'est la commande de base. Vous pouvez également spécifier la connexion de file d'attente à utiliser ( --queue=high,default
) ou combien d'essais avant d'abandonner ( --tries=3
).
Les travailleurs fonctionnent généralement en continu en production. Utilisez quelque chose comme le superviseur pour les surveiller et les redémarrer s'ils s'écrasent.
Envisagez également de l'exploitation forestière. Laravel a une table d'emploi échouée intégrée avec laquelle vous pouvez générer:
PHP Artisan Fitre: échec de la table PHP Artisan Migrate
Les emplois ratés peuvent être réduits manuellement avec:
PHP Artisan Fitre: Rery Tous
Ou les supprimer entièrement avec:
PHP Artisan Queue: Oubliez <id>
Conclusion
La gestion des taches asynchrones à Laravel est simple une fois que vous avez les bases. Réglez le bon conducteur, structurez vos travaux proprement et continuez à courir les travailleurs. Ce n'est pas trop complexe, mais facile à mal configurer si vous sautez de petits détails comme les migrations ou les délais d'emploi.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Inlaravel, Politicys organisationAutorizationLogicFormodelactions.1.PoliciesAreclasseswithMethodsLikeView, Create, Update etdeleTeTeTrueTrueorfalSebaseDonUserperMissions.2.ToregisterApolicy, MaptheModeltOtspolicyInThes.2.

Pour créer de nouveaux enregistrements dans la base de données à l'aide d'éloquente, il existe quatre méthodes principales: 1. Utilisez la méthode de création pour créer rapidement des enregistrements en transmettant le tableau d'attribut, tels que l'utilisateur :: Create (['name' => 'Johndoe', 'email' => 'John@example.com']); 2. Utilisez la méthode de sauvegarde pour instancier manuellement le modèle et attribuer des valeurs pour enregistrer une par une, ce qui convient aux scénarios où une affectation conditionnelle ou une logique supplémentaire est requise; 3. Utilisez FirstOrCreate pour trouver ou créer des enregistrements en fonction des conditions de recherche pour éviter les données en double; 4. Utilisez UpdateorCreate pour trouver des enregistrements et mettre à jour, sinon, créez-les, ce qui convient au traitement des données importées, etc., qui peuvent être répétitives.

Oui, YouCaninstallLaravelonanyOperatingSystemByfollowingTheSesteps: 1. InstallphpanDrequedExtensionsLikembstring, OpenSSL etxmlusingToolsLILLOxAmPonWindows, HomebrewonMacos, oraptonlinux; 2.InstallPoser, usinganinstalleronwindowswordrsormialCommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowsterminbcommandonson

La définition d'une méthode (également connue sous le nom d'action) dans un contr?leur est de dire à la demande quoi faire lorsque quelqu'un visite une URL spécifique. Ces méthodes traitent généralement les demandes, traitent les données et renvoient des réponses telles que les pages HTML ou JSON. Comprendre la structure de base: la plupart des cadres Web (tels que RubyOnRails, Laravel ou SpringMVC) utilisent des contr?leurs pour regrouper les opérations liées. Les méthodes de chaque contr?leur correspondent généralement à un itinéraire, c'est-à-dire le chemin d'établissement d'URL auquel quelqu'un peut accéder. Par exemple, il peut y avoir les méthodes suivantes dans PostController: 1.Index () - Afficher la liste des postes; 2.Show () - Afficher les messages individuels; 3.Create () - gérer la création de nouveaux messages; 4.U

Le r?le principal du contr?leur dans Laravel est de traiter les demandes HTTP et de retourner les réponses pour garder le code soigné et maintenable. En concentrant la logique de demande pertinente dans une classe, le contr?leur simplifie le fichier de routage, tel que la mise en ?uvre de l'affichage du profil utilisateur, de l'édition et de la suppression des opérations dans différentes méthodes d'utilisation UserController. La création d'un contr?leur peut être implémentée via la commande artisan phartisanmake: ControllerSerController, tandis que le contr?leur de ressource est généré à l'aide de l'option --Resource, couvrant les méthodes pour les opérations de crud standard. Ensuite, vous devez lier le contr?leur dans l'itinéraire, comme Route :: get ('/ user / {id

Laravel permet des vues d'authentification personnalisées et de la logique en rempla?ant le stub et le contr?leur par défaut. 1. Pour personnaliser la vue d'authentification, utilisez la commande phPartisanVendor: publish-tag = laravel-auth pour copier le modèle de lame par défaut dans le répertoire Ressources / vues / auth et modifier, tels que l'ajout de la case "Termes d'utilisation". 2. Pour modifier la logique d'authentification, vous devez ajuster les méthodes de registreController, LoginController et ResetPasswordContrller, telles que la mise à jour de la méthode Validator () pour vérifier le champ ajouté, ou réécrire R

LaravelprovidesRobustToolsForvalidateFormData.1.Assure de la basicValidationCanbedOneusingTheValidate () MethodinControllers, garantissant à la manière

TomockDependcesvelysEffectivelyInLaravel, UsedPedencyInjectionForServices, devrait-onceive () forfacades, andmockeryforcomplexcases.
