Fehlerbehebung bei Flow-Fehlern und Nutzungsgrenzen
In diesem Dokument werden häufige Fehler und Einschränkungen beschrieben und es wird darauf eingegangen, warum diese Fehler und Einschränkungen auftreten und wie du sie beheben kannst. Es gibt zwei Arten von Fehlern, die bei Flow auftreten können: dauerhafte Fehler und vorübergehende Fehler.
Auf dieser Seite
Fehler beim Bearbeiten von Workflows
Wenn du einen Workflow bearbeitest, können Fehler auftreten, die das Speichern des Workflows verhindern. Die folgenden sind häufige Fehler, die möglicherweise beim Bearbeiten eines Workflows auftreten:
Daten nicht gefunden
Beim Hinzufügen einer neuen Aktion zu einem Workflow kann der Fehler Data not found
auftreten, z. B. Customer data not found
. Dieser Fehler tritt auf, wenn die für die Aktion erforderlichen Daten nicht verfügbar sind. Wenn du beispielsweise eine Aktion hinzufügst, für die eine Produkt-ID erforderlich ist, bedeutet dieser Fehler, dass dein Workflow kein nutzbares Produkt bereitgestellt hat.
In der Regel werden diese Daten durch einen Trigger oder eine "Daten abrufen"-Aktion bereitgestellt. Wenn du "Daten abrufen" verwendest, ist ein häufiges Problem, dass die Aktion ein einzelnes Element (den Kunden) erfordert, aber die Aktion eine Liste (eine Liste von Kunden) bereitstellt. Um die Aktion aufzurufen, musst du eine For each-Aktion hinzufügen, um die Liste in einer Schlaufe zu durchlaufen, und die Aktion für jedes Element in der Liste aufrufen.
Informiere dich bei Problemen mit Trigger-Daten in der Dokumentation für deine Aktion, um einen Trigger zu finden, der die richtigen Daten bereitstellt.
Fehler beim Ausführen eines Workflows
Wenn bei einer Workflow-Ausführung ein Fehler auftritt, wird die Workflow-Ausführung als fehlgeschlagen markiert. Die Fehlermeldung wird in den Details zur Workflow-Ausführung angezeigt. Die folgenden sind häufige Fehler, die möglicherweise auftreten, wenn eine Workflow-Ausführung fehlschlägt:
Vorübergehende Fehler
Vorübergehende Fehler sind kurzzeitige Fehler, die auftreten, wenn Flow eine Aufgabe nicht abschließen kann. Die fehlerhaften Aufgaben werden solange wiederholt, bis sie entweder erfolgreich ausgeführt werden oder bis ein Zeitüberschreitungslimit erreicht wird. Wenn Flow beispielsweise beim Ausführen einer Connector-Aktion keinen Partner kontaktieren kann, wiederholt Flow diese Aktion mehrmals, bevor der Vorgang gestoppt wird.
Wiederholungsversuche werden gestaffelt, wobei die Verzögerung zwischen den einzelnen Versuchen gegenüber der vorherigen Verzögerung zunimmt. Wenn bei einem Workflow vorübergehende Fehler auftreten, verbleibt der Workflow in der Regel solange im Zustand Wird durchgeführt, solange Wiederholungsversuche ausgeführt werden.
Wenn eine Aufgabe nach einem Wiederholungsversuch erfolgreich ausgeführt wird, wird der Workflow fortgesetzt. Wenn die Wiederholungsversuche zu einem permanenten Fehler führen, schlägt der Workflow fehl. Jeder Workflow-Abschnitt verfügt über ein kombiniertes oberes Ausführungslimit von 36 Stunden. Wenn ein Schritt mit vorübergehenden Fehlern nicht ausgeführt werden kann, bevor dieses Limit erreicht wird, schlägt der Workflow fehl.
Workflows mit Warteschritten werden in Abschnitte unterteilt, was sich darauf auswirkt, wie Zeitüberschreitungslimits in einem Workflow berechnet werden. Jeder Abschnitt umfasst eine Gruppe von Aufgaben, die zusammen ausgeführt werden. Dabei hat jeder Abschnitt ein Zeitüberschreitungslimit von 36 Stunden. Wenn ein Workflow beispielsweise einen Warteschritt hat, der eine Stunde Wartezeit beinhaltet, werden die Aufgaben vor dem Warteschritt zusammen in einem Abschnitt und die Aufgaben hinter dem Warteschritt zusammen in einem anderen Abschnitt ausgeführt. Wenn ein Workflow mehrere Warteschritte umfasst, werden die Aufgaben zwischen den Warteschritten zusammen in einem Abschnitt ausgeführt. Workflows ohne Warteschritt werden als einzelner Abschnitt gehandhabt.
Gelegentliche vorübergehende Fehler treten häufig auf. Wenn du jedoch einen Workflow hast, bei dem über mehrere Durchläufe hinweg immer wieder derselbe vorübergehende Fehler auftritt, musst du den Workflow möglicherweise neu konfigurieren.
Zeit für Schritt ist abgelaufen
Step timed out
– Diese Fehler treten normalerweise auf, wenn eine Aufgabe im Workflow versucht, innerhalb eines Abschnitts zu viele Daten abzufragen. Dieser Fehler tritt häufig in Workflows auf, die durch Listen iterieren, insbesondere wenn es sich um verschachtelte Listen handelt, die zu groß sind, um zeitnah abgerufen zu werden.
Wenn dieser Fehler bei einem Workflow auftritt, wird der Trigger oder Warteschritt als retrying
angezeigt.
Um dieses Problem zu beheben, überprüfe alle Bedingungen, die auf Listen und verschachtelte Listen zugreifen, um sicherzustellen, dass die Bedingungen korrekt sind. Ein häufiges Problem ist, dass eine Bedingung alle Produkte in einem Shop überprüft und nicht nur die Produkte in einer Bestellung.
5xx-Status
Die meisten Flow-Aktionen umfassen HTTP-Aufrufe. Gelegentlich können Netzwerk- oder andere Serverprobleme dazu führen, dass HTTP-Aufrufe fehlschlagen und einen Fehlercode zwischen 500 und 599 zurückgeben. Wenn dieser Fehler vereinzelt auftritt, handelt es sich nicht um ein Problem. Ein wiederholtes Auftreten deutet jedoch möglicherweise auf ein Problem mit dem Server hin, der die Aufgabe ausführt. Es liegt wahrscheinlich nicht daran, wie der Schritt konfiguriert ist.
Dieser Fehlertyp tritt häufig in der Aktion HTTP-Anfrage senden auf. Er kann jedoch auch bei anderen Aufgaben auftreten.
GraphQL gedrosselt
Das Gesamtarbeitsvolumen eines Workflows wird durch API-Quotengrenzen eingeschränkt, die teilweise durch deinen Plan bestimmt werden. In der Regel werden diese Grenzen nicht erreicht, es sei denn, es handelt sich um einen sehr komplexen Workflow oder der Workflow enthält einen unabsichtlichen Designfehler. Im Folgenden findest du Beispiele für Szenarien, die zu diesem Fehler führen können:
- Liquid-Code oder Bedingungen in der Workflow-Schleife für eine Liste mit großen Datenmengen wie z. B. die Überprüfung von Metafeld-Werten, die HTML enthalten.
- Liquid-Code oder Bedingungen in der Workflow-Schleife für eine große Liste wie z. B. die Ausführung einer Schleife für
shop.orders
in einem großen Shop. - Ein Workflow führt zu einer unendlichen Schleife, in der der Workflow weiterhin neue Workflow-Durchläufe erstellt. Dies kann beispielsweise vorkommen, wenn der Workflow den Trigger Kunden-Tags hinzugefügt verwendet und die Aktion Kunden-Tags hinzufügen enthält.
Wenn die Grenze erreicht ist, wird der Fehler GraphQL throttled
angezeigt. Dieser Fehler kann sich auf andere Workflows auswirken, wenn sie einen Durchlauf starten. Dieser Fehler sollte also umgehend nach dem Auftreten behoben werden.
Dauerhafte Fehler
Dauerhafte Fehler sind Fehler, die auftreten, wenn Flow eine Aufgabe nicht abschließen und die Aufgabe nicht wiederholt werden kann. Wenn Flow beispielsweise keine E-Mail senden kann, weil die E-Mail-Adresse ungültig ist, wird die Aufgabe nicht wiederholt. Stattdessen schlägt der Workflow fehl.
Felder: ID ist erforderlich, aber nicht vorhanden
Für die meisten Shopify-Aktionen sind eine oder mehrere Ressourcen (z. B. ein Produkt, ein Kunde oder eine Bestellung) erforderlich, um ausgeführt zu werden. Manchmal ist die Ressource nicht verf ügbar, sodass die Aktion nicht wie vorgesehen ausgeführt werden kann. Es ist beispielsweise möglich, eine Bestellung im Adminbereich zu erstellen, die keinen Kunden hat. Wenn du versuchst, eine Aktion auszuführen, z. B. Kunden-Tags hinzuzufügen, wird für die Aktion dieser Fehler angezeigt.
Um einen Fehler zu verhindern, kannst du vor der Ausführung der Aktion eine Bedingung hinzufügen, um zu überprüfen, ob die Ressource vorhanden ist. Wenn du gemäß dem vorherigen Beispiel eine interne E-Mail im selben Workflow wie Kunden-Tags hinzufügen senden möchtest, kannst du die Aktion entweder vor dem gegebenenfalls fehlschlagenden Schritt ausführen oder du kannst eine der folgenden Aktionen vornehmen.
Füge die Aktionen in parallele Zweige ein (d. h. einem Schritt folgen zwei oder mehr Zweige).
Füge eine Bedingung vor der Ausführung der Aktion hinzu, um zu überprüfen, ob der Kunde vorhanden ist. Du kannst zum Beispiel Folgendes überprüfen: order / customer / id is not empty and exists
Flow hat keine Berechtigung für dein Google-Tabellen-Konto. Verbinde dein Konto erneut.
Der Google Tabellen-Connector erfordert, dass du dein Google-Konto mit Flow verknüpfst, damit du Schreibberechtigungen für die Tabelle erhältst. Dieser Fehler kann auftreten, wenn Flow keine Schreibberechtigung für eine Tabelle hat, entweder weil das Konto nicht mehr mit Flow verknüpft ist oder weil dieses Konto nicht auf die Tabelle zugreifen kann.
Um dieses Problem zu beheben, musst du sicherstellen, dass das Konto, das für den Connector verwendet wird, das Blatt öffnen kann und Zugriff auf die Bearbeitung hat. Wenn das falsche Konto verknüpft ist, kannst du es trennen und ein neues Konto verbinden.
Schritte:
- Öffne oder erstelle einen neuen Workflow.
- Füge eine Aktion hinzu.
- Wähle den Google Tabellen-Connector aus.
- Klicke auf Verbindung trennen und anschließend auf Verbinden.
Flow-Aktion mit ungültigen Eigenschaften empfangen. Der Kunde akzeptiert kein Marketing.
Die Aktion Marketing-E-Mail senden versendet keine E-Mails an Kunden, die nicht zugestimmt haben, diese E-Mails zu erhalten, und schlägt dauerhaft fehl, wenn der Workflow diesen Vorgang trotzdem ausführt.
Um dieses Problem zu beheben, füge eine Bedingung im Workflow hinzu, die den Abonnementstatus der Kunden überprüft. Du kannst sicherstellen, dass Kunden zugestimmt haben, Marketing-E-Mails zu erhalten, bevor du sie verschickst. Folge den Schritten unter Verwaltung von E-Mail-Abonnentenlisten.
Fehlende Ressource für [Ressourcentyp]
Dieser Fehler weist darauf hin, dass eine Ressource, z. B. customer
oder order
, gelöscht wurde, bevor der Workflow die Daten abrufen konnte. Dies geschieht meistens nach einem Warteschritt, ist jedoch auch nach dem Auslösen eines Triggers möglich, wenn die Ressource nach dem Trigger-Ereignis sehr schnell gelöscht wird.
Beim Auftreten eines Fehlers eine Benachrichtigung erhalten
Wenn sich Fehler auf deinen Shop-Betrieb auswirken, kannst du Benachrichtigungen einrichten, wenn ein Fehler auftritt. Fehlerbenachrichtigungen können wie alle anderen Workflows erstellt werden, indem der Trigger Workflow-Fehler aufgetreten verwendet wird. Fehlerbenachrichtigungen sind so konzipiert, dass sie Störungen begrenzen, sodass du nur eine Benachrichtigung pro Workflow-Version erhältst.
Für den Anfang kannst du eine der folgenden Vorlagen verwenden:
- Shopify-Benachrichtigung erhalten, wenn Fehler beim Ausführen eines Workflows erkannt werden
- Benachrichtigung per E-Mail erhalten, wenn Fehler beim Ausführen eines Workflows erkannt werden
- Slack-Benachrichtigung erhalten, wenn Fehler beim Ausführen eines Workflows erkannt werden
Ausführungen erneut starten
In einigen Fällen kann bei einer Workflow-Ausführung ein Fehler auftreten oder die Ausführung wird nicht wie vorgesehen vorgenommen. Nach der Fehlerbehebung und dem Beheben von Problemen im entsprechenden Workflow können vorherige Ausführungen manuell erneut gestartet werden, um das Ergebnis vorheriger Ausführungen rückwirkend zu beheben. Erfahre mehr über das Wiederholen von Workflow-Ausführungen.
Wird ausgeführt (Geschwindigkeit begrenzt)
Weil ein (oder mehrere) Workflows manchmal zu viele Ressourcen verbrauchen, gibt es von Flow gewisse Grenzen für die Ausführung von Shop-Durchläufen. Dies kann zu Verzögerungen und Timeoutfehler führen. Dagegen hilft, ineffiziente Workflows umzuschreiben, z. B. um einen Fehler zu beheben, der zu einer Fehlfunktion geführt hat.
Zu lange Ausführung
Bedeutet, dass die Ausführung eines Workflows sehr lange dauert. Passiert oft, wenn viele Daten von einem Workflow verwendet werden, wodurch Flow viel Zeit zum Abrufen benötigt.
Beispiel
Auslöser sind oftmals Deep-Request-Anfrage an mehrere Listen von Artikeln (z. B. Anfordern aller Metafelder für alle Produkte in allen Sammlungen, zu denen ein Produkt gehört):
Korreliert auch oft mit dem Trigger-Schritt einer Workflow-Taktung.Werden alle Metafelder von Workflows wiederholt durchlaufen, kann dies oft nur durch Festlegung eines Metafelds verbessert werden. Der Zugriff auf verschachtelte (z. B. alle Produkte in allen Sammlungen eines Produkts) oder besonders große Listen (wie z. B. umfangreiche Metafelddefinitionen) erfolgte möglicherweise unabsichtlich, sodass die Auswahl des richtigen Felds (einzelnes Produkt oder Metafeld für ein Objekt) die Effizienz erheblich verbessern kann. Manchmal kann eine Aktion "Produkt-/Bestell-/Kundendaten erhalten" mit Abfragefilter die verwendeten Objekte erheblich reduzieren, aber trotzdem auf die relevanten zugreifen.
Verarbeitung zu großer Datenmengen
Bedeutet, dass durch Workflow-Durchläufe viele Daten generiert werden. Grund sind oft komplexe Bedingungen, wodurch viele Felder auf mehreren Listen überprüft werden.
Beispiel
Durch eine Bedingung wie "Für mind. ein Tag bei diesem Kunden/ eine Bestellposition/ ein Tag auf der Position" können viele Prüfungen durchgeführt und viele Daten generiert werden, um die Ergebnisse anzuzeigen:
Fehlschlagen automatischer Wiederholungsversuche
Bedeutet, dass Workflow-Durchläufe aufgrund eines temporären Problems wiederholt fehlschlagen, dass sie jedoch bei nachfolgenden Versuchen selten erfolgreich sind. Grund sind oft viele Anfragen bei der Admin-API von Shopify oder einer Partner-App.