L'article explore les limites des tâches planifiées via cron dans les applications Symfony et propose une migration vers Symfony Scheduler pour une gestion plus fiable des jobs. Il décrit comment passer d'une commande cron basique à une solution intégrée utilisant Messenger, des verrous (locks) et une gestion d'état, permettant ainsi de gérer les retries, l'idempotence et la continuité des processus métiers. L'auteur souligne que cette approche, bien que plus complexe, offre une meilleure intégration et une responsabilité accrue de la gestion du temps au sein de l'application.
La page explique comment gérer plusieurs programmes, ou "jobs", dans un même onglet de terminal. Les programmes peuvent s'exécuter au premier plan, en arrière-plan ou être arrêtés (mis en pause). En utilisant &, un programme peut être exécuté en arrière-plan, ce qui est utile pour des tâches parallèles comme la conversion de fichiers. La commande jobs permet de lister les tâches en arrière-plan ou arrêtées, et vous pouvez les manipuler en les ramenant au premier plan avec fg, en les tuant avec kill, ou en les détachant avec disown. Lorsque vous fermez un onglet de terminal, toutes les tâches sont tuées par un signal SIGHUP, mais cela peut être évité avec disown ou nohup. Un conseil est donné pour tuer les programmes récalcitrants : utilisez Ctrl+Z pour les arrêter, puis kill pour les terminer