Information  Vous êtes sur mobile ou tablette ? Tenez votre appareil à l'horizontale !

Classes natives

Task manager


Cette classe permet de gérer les tâches planifiées.
Contrairement à un pseudo cron qui dépend de l'activité des utilisateurs,
les tâches planifiées sont lancées à une heure précise, mais cela nécessite l'exécution permanente d'un script en CLI.

Initialisation

La méthode statique suivante doit être appelée dans votre projet,
cela initialisera une table et une entité "task" ainsi qu'un dossier "task_worker" dans votre projet.

Workers

Un worker est une classe qui sera utilisée pour effectuer une tâche précise,
Exemple :

  • Envoyer des mails
  • Nettoyer/sauvegarder la base de données
  • Lancer des audits et créer des rapports

Il doit être placé dans le dossier "task_worker" et se nommer "[nom_du_worker].worker.php"

Exemple de worker (affiche un hello world dans la console)

A noter que les classes du framework sont accessibles depuis les workers, un worker peut donc faire appel au task_manager pour programmer une nouvelle tâche (en cas d'erreur par exemple).
Exemple : votre worker doit envoyer un mail, l'envoi échoue car le SMTP est indisponible, vous pouvez capturer l'erreur pour programmer une nouvelle tentative d'envoi dans 1 heure.

Utilisation (dans le projet)
Execution

Pour lancer le script d'exécution des tâches, il faut ouvrir un terminal et exécuter la commande suivante :