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.
Cronboard est une application en ligne de commande pour gérer et planifier des tâches cron sur des serveurs locaux et distants. Elle permet d'ajouter, modifier, supprimer et visualiser l'état des tâches cron. Parmi ses fonctionnalités, on trouve l'autocomplétion des chemins, la validation des tâches, la gestion des connexions SSH, et la prise en charge des expressions spéciales comme @daily ou @yearly. Développé avec Textual, Python crontab, Paramiko et Cron descriptor, Cronboard est disponible via pip, Homebrew, uv ou AUR.
L'article explore les méthodes de test des messages différés dans Symfony Messenger en utilisant Behat. L'auteur décrit un projet où des opérations sont planifiées pour être traitées de manière asynchrone à l'avenir, parfois après quelques minutes, parfois après plusieurs heures. L'objectif est de se concentrer sur le résultat plutôt que sur la planification elle-même. L'article propose une solution pour "voyager" à travers le temps, traiter les travaux planifiés et vérifier les résultats attendus. Il utilise des scénarios Gherkin pour illustrer l'escalade de priorité des incidents en fonction du temps et explique comment configurer les entités, les messages et les transports dans Symfony pour gérer ces scénarios. Enfin, il montre comment créer un transport Messenger personnalisé pour contrôler quels travaux en arrière-plan sont traités et quand, en utilisant le composant Cache de Symfony pour persister temporairement les messages planifiés.
Tout est dans le titre
Lorsqu'on a une action récurrente à lancer selon certains critères (par exemple, si un abonnement a expiré, une facture est arrivée à échéance, etc.) on utilise généralement une tâche cron. L'auteur montre une meilleure façon de faire, plus "métier".
Tout est dans le titre
Petite astuce pour nettoyer les fichiers temporaires...
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre... L'article explique qu'il faut utiliser https://crontab.guru/ ^^
Tout est dans le titre
Tout est dans le titre
launchd est l'équivalent de cron pour MacOS
Tout est dans le titre
La liste :
- comment obtenir la taille d'un fichier dans un script bash (astuce : utiliser stat --printf="%s" mon_fichier)
- sommaire des différents types de redirection I/O en bash
- pourquoi utiliser /usr/bin/env bash plutôt que /usr/bin/bash (et réciproquement)
- simuler l'environnement avec lequel cron exécute un script
- qu'est-ce que flysystem (bibliothèque PHP)
L'auteur explique comment passer de tâches cron à des tâches gérées par Systemd
Tout est dans le titre
Tout est dans le titre