” Votre flux exécute trop d’actions “

  • ” Votre flux exécute trop d’actions “

    Posté par Julien sur 17 janvier 2025 à 9h47

    Bonjour tout le monde,

    J’ai reçu un mail ce matin qui m’annonce que l’un de mes flux exécute trop d’actions, j’ai été assez étonné car il est relativement simple, ce flux dit :

    • Lorsqu’un élément d’une liste est créé ou modifié
    • Condition : colonne “date de retour” is not equal to “null”
    • Si true, mettre à jour une colonne

    Sauf que quand je regarde les éxécutions du flux, j’ai l’impression qu’il s’exécute pour toutes les lignes de ma liste, là où il devrait se concentrer uniquement sur la dernière ligne modifiée… après “lorsqu’un élément est créé ou modifié”, ne devrais-je pas ajouter une étape qui lui demande de se concentrer sur le dernier ID modifié ?

    Voici des print ecran:

    R3dKap a répondu Il y a 2 semaines, 5 jours 2 Membres · 8 Réponses
  • 8 Réponses
  • R3dKap

    Membre
    17 janvier 2025 à 13h11

    Salut @Julien,

    C’est normal, tu crées une boucle infinie puisque ton déclencheur est conditionné par la modification d’un élément et qu’à l’intérieur du flux tu modifies justement l’élément. Et ta condition dans ton flux n’empêche en rien cette boucle infinie.

    Pour empêcher cette boucle infinie, il te faut conditionner le déclencheur lui-même de la manière suivante :

    Tu remplaces juste scDate par le nom technique de ta colonne de date à toi… 😉

  • Julien

    Membre
    17 janvier 2025 à 15h59

    Hi,

    Merci pour ton retour, c’est quoi le nom technique ? J’ai essayé avec le nom complet “date de clôture” mais j’ai un message d’erreur à l’enregistrement

  • Julien

    Membre
    17 janvier 2025 à 16h43

    Ah alors, j’ai cherché un peu et voici ce que ça donne, l’enregistrement se fait correctement, est-ce que selon toi c’est ok ? J’ai aussi changé le déclencheur pour ne le soliciter que sur les modifications et non pas les créations… Et quelle serait la formule si j’ai deux colonnes à vérifier ?

    • Cette réponse a été modifiée Il y a 3 semaines par  Julien.
  • R3dKap

    Membre
    17 janvier 2025 à 18h48

    Moi je l’ai fait avec le triggerOutputs mais je pense que le triggerBody équivaut au triggerOutputs()?['body/value']. Donc, si tu as testé et que ça marche, c’est que c’est bon oui…

    Pour tester 2 colonnes, tu peux utiliser les fonctions And() ou Or() selon le cas :

    @and(not(…), …)

    ou

    @or(not(…), …)

  • Julien

    Membre
    18 janvier 2025 à 9h26

    Hi,

    Alors, j’ai testé ce matin avec mon code, le flux ne s’est jamais lancé.

    Je viens de tester le tient mais j’ai un message d’erreur que voici (si je comprends bien, il y aurait un problème avec “equal” ?) :

    Je remets un print avec ton code et le nom de ma colonne :

  • R3dKap

    Membre
    18 janvier 2025 à 12h22

    C’est equals avec un s… 😉

  • Julien

    Membre
    18 janvier 2025 à 18h59

    Saperlipopette, à une lettre, thanks !

    Plus de message d’erreur, j’ai lancé un test via mon application, j’ai solicité ladite colonne une seule fois mais mon flux semble se lancer encore et encore, est-ce que c’est un effet normal ?

  • R3dKap

    Membre
    19 janvier 2025 à 11h45

    Mmmm, c’est bizarre… Il faut que tu ouvres 2 exécutions successives et que tu vérifies que c’est bien sur le même élément de liste qu’il s’exécute et vérifier alors pour quelle raison la condition du déclencheur était remplie dans chacun des cas…

Connectez-vous pour répondre.