Maison  >  Article  >  cadre php  >  Comment configurer des tâches planifiées dans Laravel

Comment configurer des tâches planifiées dans Laravel

PHPz
PHPzoriginal
2023-04-19 10:08:464042parcourir

Laravel est un framework d'application Web open source basé sur PHP. Il simplifie grandement les tâches courantes de développement Web telles que le routage, la gestion de session, l'authentification, etc. Laravel fournit également un outil appelé Task Scheduler qui permet aux utilisateurs d'exécuter facilement le code du programme à une heure spécifiée. Cet article présentera le planificateur de tâches de Laravel et comment configurer des tâches planifiées.

Qu'est-ce que Laravel Task Scheduler

Task Scheduler fait partie du framework Laravel qui permet aux utilisateurs d'exécuter automatiquement le code du programme à une heure spécifiée. Il peut s'agir d'un événement ponctuel ou récurrent. Le Planificateur de tâches propose plusieurs manières différentes de gérer les tâches planifiées, ce qui le rend facile à utiliser et à déboguer. Dans Laravel, le planificateur de tâches utilise un objet appelé « planificateur » pour gérer les tâches planifiées.

Planificateur de tâches dans Laravel

Le Planificateur de tâches Laravel utilise les trois composants principaux suivants :

Scheduler

Scheduler est le composant principal du Planificateur de tâches. C'est un objet chargé de planifier et de gérer les tâches planifiées. Le planificateur offre un moyen simple d'attribuer des tâches à des plannings et à des périodes. Une fois qu'une tâche est assignée, le planificateur est chargé de s'assurer qu'elle s'exécute à l'heure indiquée. Le planificateur prend en charge plusieurs types de tâches, notamment les commandes, les fermetures et les appels de méthode.

Schedule

Un planning est un objet utilisé pour spécifier l'heure d'exécution d'une tâche planifiée. Les plannings offrent un moyen intuitif de spécifier quand les tâches doivent être effectuées. Les planificateurs peuvent attribuer des tâches à des calendriers spécifiques pour garantir que les tâches sont exécutées dans les délais prévus.

Listener

Un auditeur est un objet chargé d'enregistrer les résultats d'exécution des tâches planifiées. Si une tâche est anormale ou ne s'exécute pas comme prévu, l'auditeur enregistrera les événements pertinents. Cela aide les utilisateurs à déterminer quand le calendrier des tâches doit être modifié ou d'autres paramètres ajustés.

Comment configurer une tâche planifiée Laravel

La configuration d'une tâche planifiée dans Laravel nécessite de suivre les étapes suivantes :

Étape 1 : Créer un contrôleur et une commande

Tout d'abord, vous devez créer un contrôleur et une commande qui effectuer le travail proprement dit. Dans cet exemple, nous allons créer un contrôleur « TaskController » et lui attribuer une commande « TaskCommand ».

php artisan make:controller TaskController
php artisan make:command TaskCommand

Étape 2 : Modifiez la commande

Ouvrez le fichier TaskCommand.php et mettez à jour la méthode "fire" pour que la tâche réelle soit exécutée. Dans cet exemple, nous configurons la tâche pour écrire l'horodatage actuel dans un fichier.

public function fire()
{
    file_put_contents(storage_path().'/task.log', time(). "\n", FILE_APPEND);
}

Étape 3 : Créer une tâche de planificateur

Ouvrez le fichier app/Console/Kernel.php et ajoutez une nouvelle tâche. Dans cet exemple, nous définissons la tâche pour qu'elle s'exécute toutes les minutes.

protected function schedule(Schedule $schedule)
{
    $schedule->command('task')->everyMinute();
}

Étape 4 : Exécuter la tâche

Enfin, vous pouvez exécuter le planificateur de tâches à l'aide de la commande suivante :

php artisan schedule:run

Cette commande analysera le planificateur de tâches Laravel et exécutera les tâches qui doivent être exécutées.

Conclusion

En utilisant Laravel Task Scheduler, vous pouvez facilement exécuter des tâches récurrentes de manière régulière. Laravel fournit un puissant planificateur de tâches qui simplifie grandement la configuration et la gestion des tâches planifiées. Si vous avez besoin d'automatiser une tâche, Laravel Task Scheduler est probablement votre meilleur choix.

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!

Déclaration:
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