Skip to main content

Solution de l'outil Exécuter une commande avec AMP Engine

En raison du traitement multi-threaded d'AMP Engine, vous pouvez rencontrer des problèmes de simultanéité lorsque plusieurs macros avec les outils Exécuter une commande écrivent dans le même fichier temporaire. L'implémentation de l'outil Récapitulatif des champ est un exemple de méthode permettant d'éviter les conflits.

L'image ci-dessous illustre des outils Récapitulatif des champs parallèles qui contiennent chacun des outils Exécuter une commande imbriqués dans IFS.yxmc.

3 Field Summary tools that rely on IFS macro

En ouvrant les macros, nous pouvons voir l'outil Exécuter une commande qui spécifie un fichier dans le répertoire temporaire pour la sortie.

IFS macro

Pour éviter une erreur, modifiez la configuration de l'outil Exécuter une commande pour inclure un UUID, en ajoutant %uuid% quelque part dans les noms des fichiers d'entrée/de sortie. De cette façon, les différentes instances des outils Exécuter une commande ont des répertoires temporaires différents pour les fichiers d'entrée et de sortie.

Sample change in RunCommand Tool config

Ajoutez ensuite un outil Action (Question) devant les outils Exécuter une commande pouvant s'exécuter en parallèle. Configurez l'outil Action pour mettre à jour un XML brut avec une formule et définissez la formule Mettre à jour le XML intérieur pour remplacer l'espace réservé %uuid% dans l'outil de destination par un UUID.

Adding the Action Tool

Macros Alteryx concernées fournies avec Designer

  1. IFS.yxmc

  2. Google_Analytics.Prep_Query_String.yxmc

  3. UTCDateTimeConverterMacro.yxmc