Arrière-plan
Lorsqu’une feuille de contrôle comporte de nombreuses lignes ou que le temps de traitement est excessif, l’utilisation de chaînes parallèles peut réduire considérablement le temps d’exécution.
Exemple de scénario
Imaginez que votre chaîne comporte un groupe de commandes qui utilise un itérateur de groupe . Dans cette configuration, le contenu de la feuille de contrôle est extrait d’une feuille de calcul Workiva à l’aide de la commande Get Sheet Data. La chaîne répète ensuite une série d’actions pour chaque ligne de la feuille. (Voir les instructions d’installation ici.)
Si l’ordre d’exécution des lignes de la feuille de contrôle n’a pas d’importance, et que chaque ligne peut être traitée indépendamment, vous pouvez améliorer l’efficacité de la chaîne en les exécutant en parallèle à l’aide des étapes suivantes.
Note : Les étapes ci-dessous sont basées sur l’exemple de chaîne présenté ci-dessus. Veuillez adapter cette étape à votre propre chaîne et aux commandes supplémentaires qu’elle peut comporter.
Étape 1 : Préparer votre chaîne primaire
- Supprimez tous les liens entre tous les nœuds.
- Supprimez les nœuds CSV to JSON et Command Group.
- Ajoutez une commande Advanced Query à partir du connecteur Tabular Transformations et connectez-la au nœud Get Sheet Data.
- Configurez le nœud avec les valeurs suivantes :
- Tables > ; File : sélectionnez la sortie Get Sheet Data > ; Data à partir du panneau de variables.
- Tables > ; Nom de la table : utilisez un nom sans espace.
- Requête : utilisez la fonction MySQL
NTILEpour attribuer un numéro de groupe à chaque ligne (par exemple,NTILE(3)pour trois groupes).
Note : Vous devrez tester votre processus pour trouver le nombre approprié de groupes en fonction de la durée d’exécution souhaitée. Dans la mesure du possible, le nombre de groupes doit être inférieur à 10.
Étape 2 : Configurer votre sous-chaîne pour qu’elle s’exécute en parallèle
- Dans la sous-chaîne exécutée par votre événement Run Chain, ajoutez ou modifiez la commande Runtime Inputs. Pour rappel, doit être le premier nœud de la chaîne. Configurez deux entrées pour cette commande : une entrée FileField pour le fichier de données et une entrée NumberField pour le numéro de groupe.
- Pour garantir que chaque instance ne traite que les lignes qui lui sont attribuées, connectez la commande Filter Rows immédiatement après la commande Runtime Inputs et avant les autres commandes. Le filtre isole les enregistrements par numéro de groupe, ce qui permet de s’assurer que toutes les commandes suivantes n’agissent que sur les lignes correctes.
Remarque : Le champ Search Columns (Colonnes de recherche) est basé sur 0.
- Dans Chain Settings, assurez-vous que l’option Allow concurrent runs est activée.
Étape 3 : Passage par le fichier et le numéro de groupe
- Dans la chaîne primaire, ajoutez une commande Run Chain pour chaque numéro de groupe utilisé dans la fonction
NTILE(par exemple, 3 commandes pourNTILE(3)).- Fichier de données Runtime Input : sélectionnez Advanced Query > ; Result dans le panneau des variables.
- Numéro de groupe Runtime Input : Un numéro unique compris entre 1 et le nombre total de groupes.
Résultat
Votre chaîne traite maintenant trois fois plus de lignes de votre feuille de contrôle en une seule fois. Vous pouvez augmenter ce nombre en augmentant le numéro NTILE et en ajoutant les commandes Run Chain correspondantes.
Avertissement
- Évitez d’exécuter trop de chaînes parallèles à la fois, car vous risquez de dépasser les limites de la plate-forme et de faire échouer les commandes. La meilleure pratique consiste à limiter le nombre de chaînes parallèles à moins de 10.
- Toutes les solutions de chaînes doivent être testées de manière approfondie par rapport aux cas limites et à tous les types de données pertinents avant d’être utilisées dans des environnements réels ou de production.
- Les chaînes comportant plus de six niveaux imbriqués d’utilisation de Run Chain risquent de ne pas être exportées ou importées correctement.
Ressources supplémentaires
Pour plus d’informations sur les feuilles de contrôle de chaînes, consultez certaines de nos autres ressources.
- Pour plus d’informations, consultez notre site Using Control Sheets.
- Pour un cas d’utilisation courante des feuilles de contrôle, consultez notre modèle de chaîne Control Sheet Scheduler.