Des workers PHP avec systemd et Symfony Messenger
Présentation sur l'implémentation de workers PHP asynchrones avec Symfony Messenger et systemd au Forum PHP 2022

Cette sketchnote a été réalisée lors du Forum PHP 2022. Elle illustre la présentation "Des workers PHP avec systemd et Symfony Messenger" donnée par Loïck Piera, qui aborde l'architecture des workers PHP asynchrones et leur intégration système.
Contenu de la présentation
Loïck Piera explore les workers PHP asynchrones avec Symfony Messenger. Il commence par nous expliquer le dépôt des messages à travers le processus d'envoi et de stockage des messages à traiter. La présentation détaille le flux complet : de l'exécution des tâches CRON qui génèrent des commandes Symfony, jusqu'à la création et l'exécution des messages via le système de messagerie.
La seconde partie aborde le traitement des messages par Symfony Messenger en détaillant les outils et les bonnes pratiques. Loïck explique la différence entre traitement synchrone et asynchrone, et comment la consommation devient un worker. Enfin, il nous guide sur l'intégration de ces workers dans l'écosystème systemd pour une exécution fluide et fiable.
Points clés à retenir
- Processus en 3 étapes : Dépôt des messages (CRON → Commande → Exécution → Création message)
- Symfony Messenger bifurque : traitement synchrone ou asynchrone selon les besoins
- SystemD comme orchestrateur : composant Linux standard pour gérer et exécuter les services workers
- Architecture robuste : différer un traitement au déploiement pour éviter les blocages
- Bonnes pratiques essentielles : ne pas laisser tourner indéfiniment, couper les workers au déploiement, journaliser pour les logs, et utiliser des templates pour modifier les workers
Cette sketchnote est disponible dans un carnet physique.