Mettre en place des taches programmées et des travaux CRON à Laravel?
Jul 07, 2025 am 12:10 AMOui, la configuration des taches planifiées à Laravel est simple. 1. Définissez les taches dans la méthode de schéma () de la console app \ console \ en utilisant une syntaxe fluide comme -> quotidien (), -> heure (), ou des intervalles plus spécifiques. 2. Utilisez des commandes artisanales ou des commandes shell via $ calendrier- & gt; command () ou $ sched-> exec (). 3. Définissez une seule entrée cron sur le serveur: * CD / Path-to-project && php Artisan Schedule: Exécuter >> / dev / null 2> & 1. 4. Testez localement avec PHP Artisan Schedule: Exécutez et déboguez en enregistrant la sortie via SendOutputTo () ou EmailoutputTo (). 5. Suivez les meilleures pratiques telles que l'utilisation de chemins absolus de déploiement des modifications du calendrier et d'éviter les taches qui se chevauchent avec sansverlapping ().
Oui, la configuration des taches planifiées et des travaux CRON dans Laravel est simple une fois que vous comprenez comment fonctionne le planificateur de taches. Le point clé est qu'au lieu de créer manuellement plusieurs entrées CRON sur votre serveur, Laravel fournit un seul point d'entrée - le schedule:run
Artisan Commande - qui gère toutes vos taches définies.

Comment fonctionne le planificateur de taches de Laravel
Le planificateur de taches intégré de Laravel vous permet de définir des commandes à exécuter sur un calendrier à l'aide d'une syntaxe expressive et fluide. Tout ce que vous avez à faire est d'ajouter une entrée CRON sur votre serveur qui exécute php artisan schedule:run
chaque minute.

Ce travail Cron unique vérifiera si l'une de vos taches planifiées devrait s'exécuter à cette minute et les exécuter en conséquence.
Voici à quoi ressemble l'entrée cron:

* * * * * CD / path-to-your-laravel-project && php artisan calendrier: run >> / dev / null 2> & 1
Assurez-vous que le chemin vers votre projet Laravel est correct, ou cela ne fonctionnera pas.
Définition des taches programmées à Laravel
Vous définissez toutes vos taches planifiées à l'intérieur de la méthode schedule()
de la classe App\Console\Kernel
. Voici à quoi cela ressemble généralement:
Horaire des fonctions protégées (calendrier calendrier) { $ calendrier-> Commande ('e-mail: Send') -> Daily (); }
Cet exemple exécute les emails:send
une commande Artisan tous les jours à minuit.
Vous pouvez utiliser une variété de méthodes de fréquence:
-
->everyMinute()
-
->hourly()
-
->daily()
-
->weekly()
-
->monthly()
- Et plus spécifiques comme
->weekdays()
,->dailyAt('10:00')
, etc.
Vous n'êtes pas non plus limité aux commandes artisanales - vous pouvez également exécuter des commandes de shell:
$ calendrier-> exec ('rm / tmp / *. tmp') -> everyfiveMinutes ();
Tester et déboguer les commandes planifiées
Lorsque vous testez les taches programmées localement, vous n'avez pas besoin d'attendre le temps réel pour passer. Il suffit de courir:
PHP Artisan Halends: Run
Cela simulera le planificateur de vérification et d'exécution de toutes les taches dues.
Si les choses ne fonctionnent pas comme prévu:
- Assurez-vous que l'entrée CRON est configurée correctement sur le serveur.
- Vérifiez les autorisations de fichiers et les chemins utilisés dans vos commandes.
- Si votre commande publie quelque chose, envisagez de le journaliser dans un fichier de débogage:
$ calendrier-> Commande ('e-mail: Send') -> Daily () -> SendOutputTo ('/ path / to / logfile.log');
Ou envoyer la sortie à un e-mail système (si configuré):
$ calendrier-> Commande ('e-mail: Send') -> Daily () -> emailutputto ('you@example.com ');
Meilleures pratiques et gotchas communs
- Utilisez des chemins absolus lorsque vous appelez des scripts ou des fichiers externes à partir des taches planifiées.
- N'oubliez pas de déployer des modifications à Kernel.php lors de la mise à jour des horaires de production.
- Si votre application utilise des travailleurs de la file d'attente, envisagez de répartir les travaux au lieu de faire du levage lourd directement dans la commande planifiée.
- Soyez prudent avec les taches qui se chevauchent - Utilisez
withoutOverlapping()
si nécessaire:
$ calendrier-> Commande ('Process: Data') -> EveryFiveMinutes () -> WithoutOverlapping ();
De plus, si vous êtes en hébergement partagé, certains fournisseurs ont une configuration CRON basée sur l'interface utilisateur - assurez-vous de le pointer vers artisan schedule:run
.
C'est essentiellement comment Laravel gère les taches programmées. Il simplifie la gestion des opérations récurrentes sans avoir à gérer des dizaines d'entrées Crontab.
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.

Artisan est un outil de ligne de commande de Laravel pour améliorer l'efficacité du développement. Ses fonctions principales incluent: 1. Générer des structures de code, telles que les contr?leurs, les modèles, etc., et créer automatiquement des fichiers via MADE: Controller et autres commandes; 2. Gérer la migration de la base de données et remplir, utiliser migrer pour exécuter la migration, et db: semences pour remplir les données; 3. Prise en charge des commandes personnalisées, telles que Make: Command Creation Class Command Class pour implémenter l'encapsulation de la logique métier; 4. Fournir des fonctions de débogage et de gestion de l'environnement, telles que la clé: générer pour générer des clés et servir à démarrer le serveur de développement. La ma?trise de l'utilisation de l'artisan peut améliorer considérablement l'efficacité du développement de Laravel.

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

ToruntestSinLaravelEffective, uthethPartisantStCommand qui-même sifflifiesphpunisage.1.setupa.env.testingfileandconfigurephpunit.xmltousetestDatabaselikesqlite.2.GenerateTestSusingPartisanMake: Test, using - UnitForUrst.writeTetswithesSanMake: Test, Using - Unitfornits.writeTetswitheswithes

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
