Maîtrisez la planification des tâches avec Symfony Scheduler

JoliCode - JoliCodeBlog - 05/12
Introduction Aujourd’hui, utiliser une crontab pour nos tâches récurrentes est assez courant mais pas très pratique car complètement déconnecté de notre application. Le composant Scheduler se présente comme une excellente alternative. Il a été introduit en 6.3 par Fabien Potencier

Section intitulée introductionIntroduction

Aujourd’hui, utiliser une crontab pour nos tâches récurrentes est assez courant mais pas très pratique car complètement déconnecté de notre application. Le composant Scheduler se présente comme une excellente alternative. Il a été introduit en 6.3 par Fabien Potencier lors de sa keynote d’ouverture du SymfonyLive Paris 2023. Le composant est maintenant réputé comme stable depuis la sortie de Symfony 6.4. Regardons comment l’utiliser !

Section intitulée installationInstallation

Installons le composant :

composer require symfony/messenger symfony/scheduler

Comme toutes les fonctionnalités du composant se basent sur Messenger, il est nécessaire de l’installer aussi.

Section intitulée une-premiere-tacheUne première tâche

Créons un premier message à planifier :

// src/Message/Foo.php readonly final class Foo {} // src/Handler/FooHandler.php #[AsMessageHandler] readonly final class FooHandler { public function __invoke(Foo $foo): void { sleep(5); } }

De la même manière qu’un Message dispatché dans Messenger, nous dispatchons ici un Message, que Scheduler traitera de façon similaire à Messenger, excepté que le déclenchement du traitement se fera sur une base temporelle

En plus du couple Message/Handler, nous avons besoin de définir un...
[Courte citation de 8% de l'article original]

Loading...