Bonjour, je voudrais savoir s'il était possible d'appeler une fonction 24 heures après en avoir appeler une autre.

Je m'explique, imaginons qu'après l'appel d'une fonction qui insert une entrée dans ma BDD, je veuille appeler une autre fonction qui va update une colonne de cette entrée 24 heures après l'insertion (si cela n'a pas été déja fait).

Je précise que j'utilise le framework Symfony. sonnerie gratuite, sonnerie telephone

Merci de votre aide et passez une bonne soirée

1 réponse


Bonjour,

Oui c'est possible avec l'utilisation de tâches Cron.
Un tutoriel, disponible ici, a déjà été réalisé sur ce sujet.

Si vous ne connaissez pas l'heure d'exécution de la première fonction, vous pouvez procéder comme suit:

  • Créez une commande Symfony chargée de créer dynamiquement une nouvelle tâche Cron
  • Exécutez la première fonction.
  • Appelez dans votre code la commande de création dynamique de tâches

Exemple:

  • La fonction 1 est exécutée a 9h12 à jour 0
  • Votre code exécute dynamiquement une nouvelle tâche programmée pour 9h12 (elle sera donc exécutée 24h après)
  • 9h12 le lendemain, la fonction 2 est exécutée

Pour vous assurez que la fonction 2 n'est pas exécutée toutes les 24 heures, vous pouvez inscrire l'heure d'exécution de la fonction 2 dans une table et ne pas l'exécutée si elle est présente, ou selon une autre condition en fonction de vos besoins