Le composant Scheduler de Symfony

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 18

  • @bernard-ng
    @bernard-ng 10 місяців тому +1

    Très bon contenu merci pour ton travail

  • @Pimpus_
    @Pimpus_ 4 місяці тому

    Super vidéo et très bien expliquée ! :) Ca m'a permit de me familiarisé avec les Scheduler . Merci

  • @audeHavette
    @audeHavette 6 місяців тому

    Je te remercie vivement pour ta vidéo 🙂. Grâce à toi, j'ai pu mettre en place un système de suppression automatique des données personnelles au bout de 3 ans (après une adoption d'animal acceptée) pour être en règle avec la CNIL. Je monte un site pour une association dans le cadre de mon stage pour passer le titre.

    • @sylvainBlondeau
      @sylvainBlondeau  6 місяців тому +1

      Salut Aude. Content d'apprendre que la vidéo t'a été utilise, et félicitations pour la mise en place de ta suppression auto :-) et bon courage pour le titre 😁

  • @devcrown
    @devcrown 10 місяців тому

    Super vidéo

  • @erictiobo9187
    @erictiobo9187 8 місяців тому +1

    Parfait ! , je débute Symfony et ta vidéo m'a beaucoup aider a comprendre le composant Schedule de Symfony. cependant j'ai du mal a capter quelque concept. dans mon contrôleur, l'utilisateur peut planifier une tache qu'il voudrait exécuter automatiquement (des post d'article par exemple), comment faire en sorte de mettre cela en place. est il possible de le faire avec ce composant si oui comment s'il te plait.

    • @sylvainBlondeau
      @sylvainBlondeau  8 місяців тому +1

      je n'ai pas tout le contexte, mais on pourrait imaginer que tu passes la config de récurrence en paramètre, par ex :
      RecurringMessage::every($customRecurrenceParameters, new Message());

  • @fanouns1700
    @fanouns1700 9 місяців тому

    Très intéressant. Merci à toi de partager tout ça.
    J'aurai une petite question au sujet de "ça remplace les tâches cron"
    Etant sur un mutualisé, je ne peux pas avoir un script PHP qui tourne en continue. Il y a une limite d'execution.
    Mais un jour peut-être quitterai-je ce monde du mutualisé.
    Aussi, mettre en place ces bonnes pratiques m'intéresse.
    J'aimerai cependant savoir s'il est possible d'avoir une tâche cron qui interroge tous les services "async" de Symfony ?
    Je m'explique :
    Actuellement, j'ai une tâche cron, qui s'execute toutes les minutes, pendant 55 secondes : php bin/console messenger:consume --time-limit=55 --memory-limit=128M async
    Cette tâche execute mon service messenger (pour l'envoi de mail). Le stoppe, puis reprends.
    Pour utiliser le Scheduler de Symfony, j'aurai l'obligation de créer une nouvelle tâche cron pour executer php "bin/console messenger:consume async scheduler_nom"
    Bref, je vais multiplier les tâches cron..
    Existe t-il un service Symfony, que je peux configurer pour le cron et qui regroupera en une seule execution de PHP, tous mes services "async" ?
    Et à l'avenir, je m'en passerai lorsque je n'aurai plus ces limitations ?
    Désolé si mon "explication" est mauvaise... ^^

    • @sylvainBlondeau
      @sylvainBlondeau  9 місяців тому

      Salut et merci pour ton retour. Pas certain de comprendre ton message, mais si tu dois utiliser cron à l'heure actuelle, dans tous les cas je ne sais pas si ça vaut le coup que tu passe par le scheduler.

  • @larson926
    @larson926 8 місяців тому

    Bonjour je voudrais savoir si c'est possible à partir d'une Command CLI lancer le Scheduler chaque 10s ?

    • @sylvainBlondeau
      @sylvainBlondeau  8 місяців тому

      si ton worker est en train de tourner, on peut imaginer une commande cli qui créé un nouveau message de scheduler qui est paramétré sur 10s, mais ça va dépendre de ta problématique

  • @antoiner2121
    @antoiner2121 10 місяців тому

    Parfait ! Je suis un débutant et tu m'as permis de comprendre messenger et scheduler en une vidéo, alors que j'étais entrain de pleurer sur la doc depuis des heures. Du coup, est ce qu'il est possible de créer un handler avec un Scheduler qui vérifie toute les 10 minutes un dateTime dans la BDD, et envoie un email si la date est une heure plus tard ? Cela automatiquement quand l'application est en ligne ?

    • @sylvainBlondeau
      @sylvainBlondeau  10 місяців тому

      Salut, content que ça te serve. Je suis pas sûr de bien comprendre ce que tu veux faire, mais a priori tu mets ce que tu veux dans ton handler, donc vérifier une info en base et / ou envoyer un mail ne pose pas de problème :-)

    • @antoiner2121
      @antoiner2121 10 місяців тому

      @@sylvainBlondeau D'accord. Désolé pour l'explication bancal mais tu as compris l'idée 😅. Désolé de t'embêter encore, mais j'ai du mal à saisir la séparation de logique entre la classe Message et handler. Pour être plus précis, je comprend pas trop ce qu'on pourrait mettre dans Message, vu que ce que tu fais marche très bien en la laissant vide.

    • @sylvainBlondeau
      @sylvainBlondeau  10 місяців тому

      @@antoiner2121 L'idée dans cette séparation est de pouvoir utiliser le meme message entre plusieurs handler différents. Dans ton cas d'ailleurs on pourrais très bien imaginer un handler pour la bdd et un autre pour le mail

    • @antoiner2121
      @antoiner2121 10 місяців тому

      @@sylvainBlondeau Ok ! je crois que je comprend la logique ! En tout cas j'ai réussi à faire ce que je voulais merci énormément !

    • @sylvainBlondeau
      @sylvainBlondeau  9 місяців тому

      Super, bravo à toi :-)