Maison > cadre php > Laravel > Développement Laravel : Comment planifier des tâches à l'aide de Laravel Task Scheduling ?

Développement Laravel : Comment planifier des tâches à l'aide de Laravel Task Scheduling ?

王林
Libérer: 2023-06-13 14:23:29
original
1441 Les gens l'ont consulté

Laravel est un framework PHP populaire qui offre un excellent support pour le développement d'applications Web. L'une des fonctionnalités puissantes et utiles est Laravel Task Scheduling. Cet article explique comment utiliser Laravel Task Scheduling pour effectuer des tâches planifiées.

1. Qu'est-ce que la planification des tâches Laravel ?

Laravel Task Scheduling est un moyen d'exécuter des tâches planifiées fournies par le framework. Il vous permet de configurer diverses tâches planifiées, comme l'exécution d'une fonction ou d'un script toutes les heures, quotidiennement, hebdomadairement ou mensuellement sans avoir à l'exécuter manuellement. Ceci est très utile dans diverses applications Web, par exemple : besoin de sauvegarder des données quotidiennement, d'envoyer des newsletters hebdomadaires, etc.

L'utilisation de Laravel Task Scheduling rend l'écriture et la planification de ces tâches planifiées relativement simples et rend le code propre et efficace.

2. Comment utiliser la planification des tâches dans Laravel ?

1. Enregistrez les tâches planifiées

Pour utiliser Laravel Task Scheduling, vous devez d'abord effectuer une configuration. Ouvrez le fichier app/Console/Kernel.php et ajoutez une tâche planifiée à la méthode de planification. Toutes les tâches planifiées de la fonction de planification peuvent être enregistrées dans cette méthode.

/**

  • Définissez le planning des commandes de l'application.
    *
  • @return void
    */

protected function planning(Schedule $schedule)
{

//每天凌晨执行任务
$schedule->call(function () {
    DB::table('recent_users')->delete();
})->daily();
Copier après la connexion

}

Dans cet exemple, nous avons créé une fonction anonyme qui appelle d'autres méthodes pour supprimer " les données dans le table de base de données recent_users ». Cette tâche est désignée pour être exécutée une fois chaque matin.

2. Démarrer la planification

Pour démarrer des tâches planifiées, vous pouvez utiliser crontab sur le serveur. Cependant, LaravelTask ​​​​Scheduling fournit une méthode de ligne de commande pratique pour démarrer ces tâches en arrière-plan.

Entrez le répertoire racine de l'application Laravel dans la fenêtre du terminal et entrez la commande suivante :

php artisan planning:run

Cette commande lancera un processus en arrière-plan pour planifier les tâches planifiées précédemment définies. S'il y a des tâches planifiées, elles seront exécutées périodiquement.

3. Ajouter des tâches planifiées

Il est relativement facile d'ajouter des tâches planifiées dans Laravel, il suffit d'ajouter de nouvelles tâches à la méthode de planification. Par exemple, la fonction suivante peut être ajoutée à la planification :

/**

  • Enregistrez les commandes de l'application.
    *
  • @return void
    */

protected function commands()
{

$this->load(__DIR__.'/Commands');

require base_path('routes/console.php');
Copier après la connexion

}

$schedule->command('emails:send' , ['--force'])->daily();

Cette commande utilise le paramètre --force pour forcer l'exécution de la commande passée au planificateur de commandes. Dans cet exemple, la commande ne sera exécutée que toutes les nuits.

3. Conclusion

Laravel Task Scheduling est une fonction puissante du framework Laravel qui peut vous aider à simplifier l'écriture et la planification des tâches planifiées. Avec cette fonctionnalité, vous pouvez facilement automatiser certaines tâches critiques et garantir qu'elles sont exécutées dans les délais prévus. Si vous recherchez un moyen fiable de planifier des tâches, Laravel Task Scheduling est une option qui vaut la peine d'être essayée.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal