cron.md 1.3 KB

Crons

La commande ot:cron

Les taches planifiées (crons) sont exécutées au moyen de la commande suivante, où jobs est le nom du job à effectuer (ou une liste de noms de séparés par des virgules):

bin/console ot:cron run <jobs>

Pour lister les jobs disponibles :

bin/console ot:cron list

Pour plus d'informations :

bin/console ot:cron --help

À noter : tous les jobs implémentent une méthode preview qui peut être exécutée en passant l'option -p, --preview à la commande.

Créer un nouveau job

Pour ajouter une nouvelle tâche exécutable, créer simplement une nouvelle classe dans le répertoire src/Service/Cron/Job. Cette classe doit hériter de \App\Service\Cron\BaseCronJob.

Le nom du job sera déduit du nom de ce nouvel objet (MyCron deviendra my-cron)

Cette classe devra implémenter les méthodes preview et execute telles que définies dans l'interface \App\Service\Cron\CronjobInterface.

La commande ot:cron s'occupera pour vous de :

  • locker le process pour interdire l'exécution simultanée de deux jobs du même nom
  • mesurer les temps d'exécution
  • assurer la gestion d'erreur du job
  • le logging et l'envoi d'un mail en cas d'erreur critique
  • le retour d'une valeur de succès ou d'erreur selon le résultat du job