Skip to main content

Befehl-ausführen-Tool mit AMP Engine: Problemumgehung

Aufgrund der Multi-Thread-Verarbeitung der AMP Engine können Probleme bei der gleichzeitigen Verarbeitung auftreten, wenn mehrere Makros mit Befehl-ausführen-Tools ausgeführt werden, die in dieselbe Temp-Datei schreiben. Die Implementierung des Feldübersicht-Tools ist ein Beispiel dafür, wie Sie Konflikte vermeiden können.

Die folgende Abbildung zeigt parallele Feldübersicht-Tools, die jeweils in IFS.yxmc verschachtelte Befehle-ausführen-Tools enthalten.

3 Field Summary tools that rely on IFS macro

Beim Öffnen der Makros wiederum sehen wir das Befehl-ausführen-Tool, das eine Datei im temporären Verzeichnis für die Ausgabe angibt.

IFS macro

Um Fehler zu vermeiden, ändern Sie die Konfiguration des Befehl-ausführen-Tools und schließen Sie eine UUID mit ein. Dazu fügen Sie irgendwo in den Namen der Eingabe-/Ausgabedateien %uuid% ein. Auf diese Weise verwenden verschiedene Instanzen von Befehl-ausführen-Tools unterschiedliche temporäre Verzeichnisse für Eingabe- und Ausgabedateien.

Sample change in RunCommand Tool config

Fügen Sie dann ein Aktion-Tool (Frage) vor den Befehl-ausführen-Tools hinzu, die möglicherweise parallel ausgeführt werden. Konfigurieren Sie das Aktion-Tool so, dass unformatierte XML-Dateien mit Formel aktualisiert werden, und legen Sie die Formel „Innere XML aktualisieren“ so fest, dass der Platzhalter %uuid% im Zieltool durch eine UUID ersetzt wird.

Adding the Action Tool

Betroffene Alteryx-Makros, die im Lieferumfang von Designer enthalten sind:

  1. IFS.yxmc

  2. Google_Analytics.Prep_Query_String.yxmc

  3. UTCDateTimeConverterMacro.yxmc