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 folgende Fehler auftreten Data not found
:
Dieser Fehler tritt auf, weil für viele Aktionen, einschließlich Produkt-Tags hinzufügen, eine Shopify-Ressource wie beispielsweise ein Produkt erforderlich ist. Wenn diese Ressource nicht verfügbar ist, kann die Aktion nicht ausgeführt werden. Häufig enthalten Workflows zwar Daten, die den erforderlichen Daten ähneln, aber nicht das bereitstellen, was benötigt wird.
In den folgenden Abschnitten werden häufige Szenarien beschrieben, die diesen Fehler verursachen können, und wie sie behoben werden können.
Problem 1: Von Daten abrufen wurde eine Liste bereitgestellt, obwohl nur ein einzelnes Element benötigt wurde
Häufig stellt ein Workflow eine Liste mit Shopify-Ressourcen bereit, die Aktion lässt jedoch nur eine einzige Ressource zu. Beispielsweise stellt der Workflow über die Aktion Produktdaten abrufen eine Liste von Produkten bereit, die Aktion Produkt-Tags hinzufügen erfordert jedoch ein einzelnes Produkt.
Um diesen Fehler zu beheben, kannst du eine For each Aktion hinzufügen, um die Liste in einer Schleife anzuwenden, und die Aktion für jedes Element in der Liste aufrufen. Dieses Beispiel veranschaulicht sowohl den Fehler als auch die Lösung mit For each:
Problem 2: Eine Liste wurde durch den Trigger bereitgestellt, wenn ein einzelnes Element benötigt wurde
Ein ähnlicher Fehler kann auftreten, wenn eine Aktion eine einzelne Ressource erfordert, der Trigger jedoch eine Liste bereitstellt. Beispielsweise Fulfillment-Bestellung als ausgeführt markieren erfordert eine Fulfillment-Bestellung, der Trigger kommt jedoch von einer Bestellung, die eine Liste von Fulfillment-Bestellungen bereitstellt.
Um diesen Fehler, so wie bei Problem 1, zu beheben, kannst du eine For each-Aktion hinzufügen, um die Liste in einer Schleife anzuwenden, und die Aktion für jedes Element in der Liste aufrufen:
Alternativ kannst du einen anderen Trigger verwenden, der die erforderliche Ressource bereitstellt. Beispielsweise können Sie statt des Triggers Bestellung erstellt den Trigger Fulfillment-Bestellung zum Ausführen bereit verwenden, der eine einzelne Fulfillment-Bestellung bereitstellt.
Problem 3: Es wurden keine Daten vom Trigger "Geplanter Zeitpunkt" bereitgestellt
Der Trigger Geplanter Zeitpunkt stellt keine Shopify-Ressourcendaten bereit. Wenn du versuchst, Aktionen, die Shopify-Ressourcen erfordern, nach dem Trigger zu verbinden, wird der Fehler angezeigt.
Um diesen Fehler zu beheben, füge eine Aktion wie Produktdaten abrufen hinzu, die die erforderlichen Daten bereitstellt. Wie in Problem 1 erwähnt, musst du außerdem eine For each-Aktion hinzufügen, um eine Schleife über alle Listen auszuführen, die von einer Aktion zurückgegeben werden, die Daten abruft.
Problem 4: Es wurden keine Daten von einem App-Trigger bereitgestellt
Ähnlich wie bei Problem 3 stellen einige von Apps erstellte Trigger nicht die erforderlichen Shopify-Ressourcendaten bereit. Beispielsweise kann der Trigger "Bewertung erstellt" eine E-Mail-Adresse, aber kein Kundenobjekt bereitstellen, das für viele Aktionen, wie etwa Kunden-Tags hinzufügen, erforderlich ist.
Um diesen Fehler zu beheben, kannst du möglicherweise eine Aktion "Daten abrufen" verwenden, um die benötigte Shopify-Ressource abzurufen. Beispielsweise kannst du Kundendaten abrufen verwenden, um das Kundenobjekt aus der vom Trigger bereitgestellten E-Mail-Adresse abzurufen. Wie bei den anderen Problemen musst du auch eine For each-Aktion hinzufügen, um eine Schleife über alle Listen auszuführen, die von einer Aktion zurückgegeben werden, die Daten abruft.
Wenn "Daten abrufen" keine Option ist, musst du dich möglicherweise an den App-Entwickler wenden und ihn fragen, ob er den Trigger ändern kann, um die erforderlichen Daten bereitzustellen.
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.