Workiva Scripting bietet eine flexible, sichere Plattform für die Ausführung von Python-Code in der Workiva-Software. Dieser Artikel behandelt einige der häufigsten Szenarien, auf die Sie bei der Erstellung Ihres Skripts stoßen können.
Für Themen, die hier nicht behandelt werden, lesen Sie unsere anderen Scripting-Artikel oder besuchen Sie die Workiva APIs & Scripting Community.
Hinweis: Scripting ist derzeit nur über Customize Workiva verfügbar. Erfahren Sie mehr.
Verwaltungs- und Berechtigungsprobleme
Aktion "Skript ausführen" erscheint nicht in Automatisierungen
Dies bedeutet, dass Sie nicht über die für die Ausführung dieses Skripts erforderliche Rolle verfügen. Wenden Sie sich an Ihren Workspace-Administrator, um eine geeignete Skripting-Rolle zuzuweisen.
Wenn eine erforderliche Rolle zugewiesen wurde und die Aktion immer noch nicht verfügbar ist, überprüfen Sie bitte, ob die Skriptfunktion in diesem bestimmten Arbeitsbereich aktiviert ist.
Workiva Scripting Konnektor nicht in Chains verfügbar
Dies zeigt an, dass der Workiva Scripting Connector für Ihren Arbeitsbereich nicht aktiviert wurde. Wenden Sie sich an, um diese Funktion zu aktivieren.
Für den Arbeitsbereichsadministrator sind keine Skripting-Rollen sichtbar.
Dies bedeutet, dass die Skriptfunktion für Ihren Arbeitsbereich nicht aktiviert wurde. Wenden Sie sich an, um diese Funktion zu aktivieren.
Workiva Scripting Connector und Befehlsprobleme (Ketten)
Die Befehlsausführung beginnt, die Skriptausführung jedoch nicht
Überprüfen Sie, ob die Skriptfunktion für Ihren Arbeitsbereich aktiviert wurde. Wenn nicht, kontaktieren Sie uns, um es zu aktivieren.
Wenn Sie bestätigt haben, dass Skripting aktiviert ist, dann hat der Integrationsbenutzer für den Workiva Scripting Connector möglicherweise nicht die erforderliche Rolle zugewiesen. Wenden Sie sich an Ihren Workspace-Administrator, um eine geeignete Scripting-Rolle zuzuweisen. Sie sollten auch überprüfen, ob der Integrationsbenutzer die Berechtigung hat, auf das vom Befehl ausgelöste Skript zuzugreifen.
Die Befehlsausführung ist noch im Gange, aber die Skriptausführung wird unerwartet angehalten
Vergewissern Sie sich, dass die Skriptausführung nicht außerhalb dieses Befehls abgebrochen wurde. Der Ausführungsverlauf kann im Bereich Eigenschaften des Skripteditors gefunden oder über die Scripting Prototype API Endpunkte abgerufen werden.
Wenn dies nicht der Fall ist, stellen Sie bitte sicher, dass die Skriptausführung nicht die maximal zulässige RAM-Nutzung erreicht hat (siehe Scripting Limits). Sie können dies tun, indem Sie die Speichernutzung in Ihrem Code melden.
Nachfolgend finden Sie ein Beispiel, wie Sie die Speichernutzung mit tracemalloc aus der Python-Standardbibliothek melden können.
# Importieren des Moduls
import tracemalloc
# Code oder Funktion, für die Speicher
# überwacht werden soll
def app():
lt = []
für i im Bereich(0, 100000):
lt.append(i)
# Starten der Überwachung
tracemalloc.start()
# Funktionsaufruf
app()
# Anzeigen des Speichers
print(tracemalloc.get_traced_memory())
# Stoppen der Bibliothek
tracemalloc.stop()
Skriptausführungen haben auch eine maximale Laufzeit (siehe Scripting Limits)
Vergewissern Sie sich abschließend, dass der Skriptcode die folgenden Funktionen nicht enthält:
- quit()
- exit()
- sys.exit()
- os._exit()
Diese Funktionen haben fast die gleiche Funktionalität, um die SystemExit-Ausnahme auszulösen, durch die der Python Interpreter beendet wird.
Befehls- und Skriptausführung nicht synchronisiert
Dies ist der Fall, wenn der Befehl beendet wird und der Skriptlauf weiterläuft oder umgekehrt.
Wenn der Befehl vor der Ausführung des Skripts abgeschlossen wird, stellen Sie sicher, dass die Befehlszeitüberschreitung größer ist als die Ausführungszeit des Skripts (siehe Skripting Limits, um mehr über die maximale Skriptausführungszeit zu erfahren).
Wenn die Skriptausführung nur wenige Sekunden vor dem Befehl abgeschlossen ist, kann dies eine erwartete Verzögerung sein, die dadurch entsteht, dass das Skripting-System Informationen verarbeitet, nachdem die Skriptausführung abgeschlossen ist. Der Befehl meldet den Abschluss erst, wenn der gesamte Prozess abgeschlossen ist.
Skripting-Editor
Der Import einer Bibliothek funktioniert nicht
Workiva Scripting unterstützt Python's Standardbibliothek, sowie Komponenten aus dem Python Package Index (siehe Unterstützte Workiva Scripting Bibliotheken und Abhängigkeiten für weitere Informationen). PyPI-Komponenten, die zusätzliche Installationen erfordern, werden möglicherweise nicht unterstützt.
Vergewissern Sie sich, dass die Bibliothek, die Sie zu importieren versuchen, Teil der Python-Standardbibliothek oder des Python Package Index ist. Wenn es sich um eine Komponente des letzteren handelt, stellen Sie sicher, dass keine zusätzlichen Installationen erforderlich sind.