Aller au contenu

Synchroniser les dépendances

Dans un workflow avancé, les connecteurs du canevas déterminent l’ordre d’exécution des étapes. Une étape qui lit une table doit s’exécuter après l’étape qui l’écrit, mais rien ne vous oblige à tracer ce connecteur. Sans lui, les deux étapes peuvent s’exécuter en même temps, et la seconde peut lire la table avant que la première n’ait fini de l’écrire. C’est fréquent dans les workflows convertis, copiés ou assemblés à partir d’autres workflows.

Synchroniser les dépendances repère ces étapes en analysant les tables que chaque étape lit et écrit, et suggère les connecteurs qui les mettent dans l’ordre. Vous examinez chaque suggestion, et rien ne change tant que vous ne choisissez pas Ajouter les connecteurs.

Synchroniser les dépendances ne fait qu’ajouter des connecteurs. Elle n’en supprime ni n’en déplace jamais aucun, et ne modifie jamais une étape.

  1. Ouvrez le workflow dans le canevas de workflow avancé.
  2. Choisissez Synchroniser les dépendances dans la barre d’outils, à côté de Vérifier. Lorsque Weave a déjà des suggestions, une bannière sous la barre d’outils l’indique, par exemple Weave suggère 3 connecteurs pour que chaque étape s’exécute après l’étape qui écrit une table qu’elle lit. Choisissez Examiner… sur la bannière pour ouvrir la même fenêtre.
  3. La fenêtre Synchroniser les dépendances liste une suggestion par ligne, par exemple Exécuter « Load Sales » avant « Report », qui lit « sales ». Chaque ligne comporte une case à cocher.
  4. Cochez les connecteurs que vous souhaitez et décochez les autres.
  5. Choisissez Ajouter les connecteurs.

Les connecteurs apparaissent immédiatement sur le canevas. Défaire les supprime tous en une seule opération, et Rétablir les remet en place.

Le bouton Synchroniser les dépendances est visible si vous pouvez modifier le workflow et lire ses tables.

Une suggestion est cochée lorsque les deux étapes sont Table : extraire, Table : copier, Table : fusion (colonnes en lignes), Table : pivot (lignes en colonnes) ou Table : générer des caractéristiques. Ces étapes lisent une table et remplacent leur cible à chaque exécution ; l’ordre est donc évident.

Toutes les autres suggestions sont listées mais non cochées. Elles concernent une étape qui ajoute (Table : ajouter), importe, joint ou recherche, ou qui lit plusieurs tables, comme Extract: SQL. Cochez-en une si cette étape doit attendre l’autre.

  • Des étapes déjà dans le mauvais ordre. Si un connecteur fait déjà s’exécuter une étape avant l’étape qui écrit une table qu’elle lit, la fenêtre indique combien. Synchroniser les dépendances ne réordonne pas les étapes ; vérifiez ces connecteurs sur le canevas.
  • Des étapes que vous ne pouvez pas ouvrir. Une suggestion impliquant une étape que votre rôle masque est comptée, mais pas listée.
  • Un workflow que Weave ne peut pas vérifier. Si une étape exécute un autre workflow, utilise des tables que Weave ne peut pas suivre, ou si les connecteurs forment une boucle, la fenêtre indique que Weave ne peut pas vérifier l’ordre des étapes du workflow et ne suggère rien.
  • Rien à ajouter. Si chaque étape s’exécute déjà après les étapes qui écrivent les tables qu’elle lit, la fenêtre l’indique.

Weave ne suggère un connecteur que lorsque l’ordre est certain. Il ne se prononce pas sur les cas suivants :

  • Une table écrite par plus d’une étape du workflow, ou aussi par un autre workflow, car une étape peut être censée lire la sortie de l’autre workflow. Une étape qui à la fois lit et écrit une table qu’une autre étape écrit aussi est traitée de la même façon.
  • Une table qu’une étape choisit avec une variable, un nom partagé par plusieurs tables, une vue, ou une table d’un autre projet.
  • Une table qu’une étape du workflow vide, dont elle supprime des lignes ou qu’elle supprime, car vider une table avant son chargement relève d’un ordre délibéré.
  • Les étapes à l’intérieur d’un conteneur d’exécution.
  • Les étapes désactivées et les étapes d’un conteneur désactivé. Un chemin de connecteurs passant par une étape désactivée est tout de même pris en compte, car le workflow la traverse directement.

Weave vérifie l’ordre d’exécution des étapes, et non les données qu’elles produisent.

Si quelqu’un modifie le workflow pendant que la fenêtre est ouverte, ou si une suggestion ne s’applique plus, un avis Workflow modifié apparaît lorsque vous choisissez Ajouter les connecteurs, et le canevas se recharge. Choisissez à nouveau Synchroniser les dépendances pour voir ce que Weave suggère désormais.

Sur un workflow verrouillé, déverrouillez-le avant d’ajouter des connecteurs ou de les annuler.

Vous n’avez pas besoin d’ouvrir le canevas pour trouver ces étapes. Weave vérifie en arrière-plan chaque workflow avancé, y compris ceux qui ne se sont jamais exécutés, et signale Steps that can run before the table they read is written dans l’onglet Weave. Lorsqu’un connecteur manque, Corriger sur ce constat ouvre cette fenêtre sur le canevas du workflow. Consultez Constats Weave.