Mathieu Desnouveaux

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

Sketchnote du Forum PHP 2022 illustrant la présentation "Des workers PHP avec systemd et Symfony Messenger" par Loïck Piera. La schématisation visuelle présente le processus Worker PHP avec des diagrammes montrant le dépôt des messages (CRON → Commande Symfony → Exécution → Création du message), le traitement des messages via Symfony Messenger (synchrone/asynchrone), et l'intégration systemd (composant Linux standard) avec des flèches et annotations explicatives pour l'architecture asynchrone.

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
Thèmes:
🐘 PHP
Événement:
🎤 Forum PHP

Source: Loïck PIERA
Carnet:
📚 Carnet 2022-2023

Cette sketchnote est disponible dans un carnet physique.

Publié le 13 octobre 2022