Fejlfinding af fejl i Shopify Flow
Shopify Flow hjælper dig med at automatisere opgaver og processer i din butik, men du kan støde på fejl eller nå visse begrænsninger, når du opretter eller redigerer workflows. Denne side forklarer almindelige problemer, du kan støde på, såsom workflowbegrænsninger og datafejl, og den giver vejledning i, hvordan du løser dem. En forståelse af disse fejl kan hjælpe dig med at foretage fejlfinding af problemer og holde dine workflows kørende uden problemer.
På denne side
Fejl ved oprettelse af workflows
Når du opretter et workflow, kan du støde på fejl, der forhindrer dig i at tilføje et nyt workflow. Her er nogle af de fejl, du kan støde på:
Antallet af workflows er overskredet
Når du opretter et nyt workflow, kan du støde på en fejlmeddelelse, der siger: Du har nået den maksimale grænse på 1.000 tilladte workflows. Slet alle ubrugte workflows, og prøv igen for at fortsætte.
Flow begrænser antallet af workflows, som en butik kan have, med en grænse på 1.000. Dette omfatter både aktive og inaktive workflows. Hvis du når denne grænse og vil oprette et nyt workflow, skal du slette ubrugte eller inaktive workflows.
Hvis din butik havde mere end 1.000 workflows, før denne grænse blev indført, kan din butik fortsætte med at fungere med mere end 1.000 workflows. For at oprette nye workflows skal du dog være under grænsen.
Du kan opleve denne fejl, når du udfører en række handlinger i Flow-appen:
- Oprettelse af et nyt workflow
- Duplikering af et workflow
- Importering af et workflow
- Installation af en skabelon
For mange workflows med den samme udløser
Når du aktiverer et workflow, får du muligvis en advarsel om, at din butik har mere end 10 aktive workflows, der bruger den samme udløser.
Det kan forårsage problemer med ydeevnen at have mange workflows, der deler den samme udløser, da Flow skal behandle alle de tilknyttede workflows, hver gang udløserhændelsen finder sted. Denne spredning kan medføre langsommere eksekveringstider og et øget ressourceforbrug.
Overvej følgende fremgangsmåder for at reducere antallet af workflows for en enkelt udløser:
- Kombiner workflows, der bruger den samme udløser, til et enkelt workflow med flere forgreninger og betingelser.
- Deaktiver eller slet workflows, som ikke længere er nødvendige.
- Gennemgå, om nogle workflows i stedet kan bruge en mere specifik udløser.
Fejl ved redigering af workflows
Når du redigerer et workflow, kan du støde på fejl, der forhindrer dig i at gemme det. Følgende er almindelige fejl, du kan støde på, når du redigerer et workflow:
Data ikke fundet
Når du føjer en ny handling til et workflow, kan du støde på en fejlmeddelelse med teksten Data ikke fundet:

Denne fejl opstår, fordi mange handlinger, herunder Tilføj produkttags, kræver en Shopify-ressource, f.eks. et produkt. Hvis denne ressource ikke er tilgængelig, kan handlingen ikke køres. Workflows kan ofte indeholde data, der minder om de påkrævede data, men som rent faktisk ikke leverer det, der er nødvendigt.
Følgende afsnit beskriver almindelige scenarier, der kan forårsage denne fejl, og hvordan du løser dem.
Problem 1: En liste blev leveret af Hent data, da der var brug for en enkelt vare
Et workflow leverer ofte en liste over Shopify-ressourcer, men handlingen tillader kun en enkelt ressource. For eksempel leverer workflovet en liste over produkter via handlingen Hent produktdata, men handlingen Tilføj produkttags kræver et enkelt produkt.
For at løse denne fejl kan du tilføje en For hver-handling for at gennemløbe listen og kalde handlingen for hver vare på listen. Dette eksempel illustrerer både fejlen og løsningen ved hjælp af For hver:

Problem 2: En liste blev leveret af udløseren, da der var brug for en enkelt vare
En lignende fejl kan opstå, når en handling kræver en enkelt ressource, men udløseren leverer en liste. For eksempel kræver Markér en klargøringsordre som klargjort en klargøringsordre, men udløseren kommer fra en ordre, som leverer en liste over klargøringsordrer.
For at løse denne fejl kan du, ligesom med Problem 1, tilføje handlingen For hver for at gennemløbe listen og kalde handlingen for hver vare på listen:

Alternativt kan du bruge en anden udløser, der leverer den påkrævede ressource. I stedet for at bruge udløseren Ordre oprettet kan du f.eks. bruge udløseren Klargøringsordre klar til klargøring, som leverer en enkelt klargøringsordre.

Problem 3: Der blev ikke leveret data af udløseren Planlagt tid
Udløseren Planlagt tid leverer ikke Shopify-ressourcedata. Hvis du forsøger at forbinde handlinger, der kræver Shopify-ressourcer, efter udløseren, vil du støde på fejlen.
For at løse denne fejl skal du tilføje en handling, f.eks. Hent produktdata, der leverer de påkrævede data. Som nævnt i Problem 1 skal du også tilføje handlingen For hver for at gennemløbe enhver liste, der returneres af en handling, der henter data.

Problem 4: Der blev ikke leveret data af en appudløser
I lighed med problem 3 leverer nogle udløsere, der er oprettet af apps, ikke de påkrævede Shopify-ressourcedata. For eksempel kan en udløser af typen “Anmeldelse oprettet” levere en mailadresse, men ikke et kundeobjekt, hvilket er nødvendigt for mange handlinger, såsom Tilføj kundetags.
For at løse denne fejl kan du muligvis bruge en “Hent data”-handling til at hente den Shopify-ressource, du har brug for. Du kan f.eks. bruge Hent kundedata for at få kundeobjektet fra den mailadresse, som udløseren leverer. Ligesom med de andre problemer skal du også tilføje handlingen For hver for at gennemløbe enhver liste, der returneres af en handling, der henter data.
Hvis “Hent data” ikke er en mulighed, skal du muligvis kontakte appudvikleren for at spørge, om vedkommende kan ændre sin udløser, så den leverer de påkrævede data.
Antallet af ventetrin er overskredet
Når du føjer nye ventetrin til dit workflow, kan du støde på en fejlmeddelelse med teksten Workflows skal have 40 eller færre ventetrin.
Flow begrænser antallet af tilladte ventetrin i et workflow til 40. Hvis du støder på denne fejl, har du overskredet denne grænse. Du kan løse problemet ved at fjerne ventetrin andre steder i dit workflow.
Hvis du allerede havde workflows, der indeholdt mere end 40 ventetrin, før denne grænse blev indført, fortsætter dit workflow med at fungere som forventet. For at tilføje yderligere ventetrin skal du dog først fjerne eksisterende trin for at holde dig under grænsen.
Derudover må den samlede ventetid på tværs af alle ventetrin ikke overstige 90 dage.
Størrelsesgrænsen for værdien i konfigurationsfeltet er overskredet
Når du redigerer værdien af konfigurationsfelter i betingelser i dit workflow, kan du støde på en fejlmeddelelse med teksten Værdien i konfigurationsfeltet skal være under 50 kB.
Flow begrænser størrelsen på en konfigurationsfeltværdi til 50 kB data. Når du støder på denne fejl, har du nået eller overskredet grænsen. Du kan løse problemet ved at forkorte længden af de data, du føjer til feltet.
Hvis du allerede har konfigurationsfelter med en værdi på 50 kB eller mere, fortsætter dine workflows med at køre som forventet. For at foretage ændringer i dit workflow skal du dog revidere den værdi, der forårsager fejlen.
Fejl, når et workflow kører
Når en workflowkørsel støder på en fejl, markeres den som mislykket. Fejlmeddelelsen vises i oplysningerne om workflowkørslen. Følgende er almindelige fejl, som du kan støde på, når en workflowkørsel mislykkes:
- Midlertidige fejl opstår, når Flow ikke kan fuldføre en opgave. Der gøres nye forsøg ved disse fejl, indtil de enten lykkes eller når en timeoutgrænse.
- Permanente fejl er fejl, der opstår, når Flow ikke kan fuldføre en opgave, og opgaven ikke kan forsøges igen.
Midlertidige fejl
Midlertidige fejl er fejl, der opstår, når Flow ikke kan fuldføre en opgave. Der gøres nye forsøg ved disse fejl, indtil de enten lykkes eller når en timeoutgrænse. Hvis Flow f.eks. ikke kan kontakte en partner under kørslen af en handling i en forbindelseskomponent, forsøger Flow opgaven flere gange, før den giver op.
Nye forsøg spredes ud over tid, og forsinkelsen mellem hvert efterfølgende forsøg øges. Når et workflow oplever midlertidige fejl, forbliver det typisk i statussen kører i lang tid, mens der gøres nye forsøg på opgaver.
Når der med succes er gjort et nyt forsøg på en opgave, fortsætter workflowet. Hvis en opgave, der forsøges igen, oplever en permanent fejl, mislykkes workflowet. Hver workflowsektion har en samlet øvre kørselsgrænse på 36 timer. Hvis et trin med midlertidige fejl ikke lykkes, før denne grænse nås, mislykkes workflowet.
Workflows med ventetrin er opdelt i sektioner, hvilket påvirker, hvordan timeoutgrænser beregnes i et workflow. Hver sektion er en gruppe opgaver, der køres sammen, og hver sektion har sin egen tidsgrænse på 36 timer. Hvis et workflow f.eks. har et ventetrin, der venter i en time, køres opgaverne før ventetrinnet sammen i én sektion, og opgaverne efter ventetrinnet køres sammen i en anden sektion. Hvis et workflow har flere ventetrin, køres opgaverne mellem hvert ventetrin sammen i én sektion. Workflows uden et ventetrin betragtes som én sektion.
Lejlighedsvise midlertidige fejl er almindelige. Men hvis du har et workflow, der konsekvent støder på den samme midlertidige fejl på tværs af flere kørsler, skal dit workflow muligvis omkonfigureres.
Trin fik timeout
Fejlen Trin fik timeout opstår normalt, når en opgave i workflowet forsøger at forespørge på for mange data i én sektion. Denne fejl opstår ofte i workflows, der gennemløber lister, især indlejrede lister, der er for store til at blive behandlet hurtigt.
Når denne fejl opstår, vises udløseren eller ventetrinnet som forsøger igen.
Du kan løse dette problem ved at gennemgå betingelser, der tilgår lister og indlejrede lister, for at bekræfte, at de er konfigureret korrekt. Et almindeligt problem er en betingelse, der tjekker alle produkter i en butik i stedet for kun produkterne i en ordre.
5XX-status
De fleste Flow-handlinger involverer HTTP-kald. Lejlighedsvis kan netværks- eller andre serverproblemer få HTTP-kald til at mislykkes og returnere en fejlkode mellem 500 og 599. Det er ikke et problem at se denne fejl en enkelt gang, men gentagne tilfælde kan indikere et problem med den server, der håndterer opgaven, i stedet for den måde, trinnet er konfigureret på.
Denne type fejl vises oftest i forbindelse med handlingen Send HTTP-anmodning, men den kan opstå i de fleste opgaver.
GraphQL-begrænset
Den samlede mængde arbejde, der udføres af et workflow, er begrænset af API-anmodningsgrænser, som er delvist bestemt af dit abonnement. Disse grænser nås typisk ikke, medmindre et workflow er meget komplekst eller indeholder en utilsigtet designfejl.
Følgende eksempler beskriver situationer, der kan føre til denne fejl:
- Liquid eller betingelser i workflowet gennemløber en liste med store mængder data, som f.eks. at tjekke metafeltværdier, der indeholder HTML.
- Liquid eller betingelser i workflowet gennemløber en stor liste, f.eks. ved at gennemløbe
shop.ordersi en stor butik. - Et workflow resulterer i en uendelig løkke, hvor workflowet bliver ved med at oprette nye workflowkørsler. Dette kan f.eks. ske, hvis workflowet bruger udløseren Kundetags tilføjet og omfatter handlingen Tilføj kundetags.
Hvis grænsen nås, får du en GraphQL-begrænset-fejl. Denne fejl kan påvirke andre workflows, når de forsøger at køre, så løs denne fejl med det samme, hvis den opstår.
Permanente fejl
Permanente fejl er fejl, der opstår, når Flow ikke kan fuldføre en opgave, og der ikke kan gøres et nyt forsøg på opgaven. Hvis Flow f.eks. ikke kan sende en mail, fordi mailadressen er ugyldig, gøres der ikke et nyt forsøg på opgaven. I stedet mislykkes workflowet.
Felter: id er påkrævede, men er tomme
Shopify-handlinger kræver én eller flere ressourcer, f.eks. et produkt, en kunde eller en ordre, for at kunne køre. Hvis den nødvendige ressource er utilgængelig, kan handlingen ikke køre som tilsigtet. En ordre kan f.eks. oprettes i Shopify-administratoren uden en kunde. Hvis du kører en handling som f.eks. Tilføj kundetags, mislykkes handlingen med denne fejl.
Du kan forhindre denne fejl ved at tilføje en betingelse før handlingen for at tjekke, om ressourcen findes. Hvis du i det forrige eksempel vil sende en intern mail i samme workflow som Tilføj kundetags, kan du enten placere mailhandlingen før det trin, der kan mislykkes, eller bruge en af følgende fremgangsmåder:
Placer handlingerne i parallelle forgreninger (hvor to eller flere forgreninger kommer fra ét trin):

Tilføj en betingelse før handlingen for at tjekke, om kunden findes. Du kan f.eks. tjekke, om ordre / kunde / id er ikke tom og findes.

Flow har ikke tilladelse til din Google Sheets-konto. Genopret forbindelsen til din konto.
Google Sheets-forbindelseskomponenten kræver, at du knytter din Google-konto til Flow for at have tilladelse til at skrive til arket. Denne fejl kan opstå, når Flow ikke har tilladelse til at skrive til et ark, enten fordi kontoen blev afkoblet fra Flow, eller fordi kontoen ikke har adgang til det pågældende ark.
Du kan løse dette ved at sørge for, at den konto, der bruges til forbindelseskomponenten, kan åbne arket og har redigeringsadgang. Hvis den forkerte konto er tilknyttet, kan du afkoble den og tilknytte en ny.
Trin:
- Åbn et eksisterende workflow, eller opret et nyt.
- Føj en handling til workflowet.
- Vælg Google Sheets-forbindelseskomponenten.
- Klik på Afkobl, og klik derefter på Tilknyt for at genoprette forbindelsen til den korrekte Google-konto.
Flow-handling modtaget med ugyldige egenskaber. Kunden accepterer ikke markedsføring.
Handlingen Send marketingmail sender ikke mails til kunder, der ikke har givet samtykke til at modtage dem, og mislykkes permanent, hvis workflowet forsøger at gøre det.
Du kan løse dette ved at tilføje en betingelse i workflowet, der tjekker kundernes abonnementsstatus. Du kan sikre, at kunderne har givet samtykke til at modtage marketingmails, før du sender dem. Følg trinnene i Administration af mailliste over abonnenter.
Manglende ressource for [resource type]
Denne fejl indikerer, at en ressource, som f.eks. kunde eller ordre, blev slettet, før workflowet kunne hente dens data. Dette sker oftest efter et ventetrin, men det kan også ske ved udløseren, hvis ressourcen slettes meget hurtigt efter, at udløserhændelsen finder sted.
Få besked, når der opstår en fejl
Hvis fejl påvirker driften af din butik, kan du oprette notifikationer, der sendes, når der opstår en fejl. Fejlnotifikationer kan oprettes som et workflow ved hjælp af udløseren Der opstod en workflowfejl. Fejlnotifikationer er designet til at begrænse støj, så du får kun én notifikation pr. workflowversion.
For at komme i gang kan du bruge en af følgende skabeloner:
- Få en Shopify-notifikation, når der registreres fejl i workflowkørsler
- Få besked via mail, når der registreres fejl i workflowkørsler
- Få en Slack-notifikation, når der registreres fejl i workflowkørsler
Gentagelse af kørsler
I nogle tilfælde kan en workflowkørsel støde på en fejl eller ikke køre som forventet. Når du har udført fejlfinding og rettet problemerne i det relaterede workflow, kan tidligere kørsler gentages manuelt for at rette resultatet af de tidligere kørsler. Få mere at vide om gentagelse af workflowkørsler.
Kører (hastighedsbegrænset)
I nogle tilfælde kan et eller flere workflows bruge for mange ressourcer. For at forhindre, at dette forårsager problemer, begrænser Flow bevidst udførelsen af kørsler i din butik, hvilket kan medføre forsinkelser og timeout-fejl. Dette kan løses ved at omskrive ineffektive workflows – som regel for at rette en fejl, der betød, at de ikke fungerede efter hensigten.
Kører for længe
Denne meddelelse angiver, at kørsler for et workflow tager meget lang tid at udføre. Dette skyldes normalt, at der bruges en stor mængde data i et workflow, som det tager lang tid for Flow at hente.
Disse tilfælde skyldes normalt dybe anmodningsstier, der går gennem flere varelister (f.eks. anmodning om alle metafelter for alle produkter i alle de kollektioner, et produkt er en del af):

Dette er også ofte forbundet med, at udløsertrinnet i et workflow timer ud.
Workflows, der looper gennem alle metafelter, kan ofte forbedres ved kun at bruge et specifikt metafelt. Adgang til flere indlejrede lister (f.eks. alle produkter i alle kollektioner for et produkt) eller særligt store lister (f.eks. definitioner af metafelt, som indeholder alle metafelter for alle objekter) sker muligvis utilsigtet. Ved at vælge det korrekte felt (det enkelte produkt eller et enkelt metafelt på et objekt) kan effektiviteten forbedres betydeligt. I andre tilfælde kan du ved at bruge handlingen “Hent produkt-, ordre- eller kundedata” med et forespørgselsfilter reducere antallet af anvendte objekter betydeligt, mens du stadig bevarer adgangen til de relevante.
Behandler for mange data
Denne meddelelse angiver, at kørsler for et workflow genererer en stor mængde data. Dette skyldes normalt komplekse betingelser, der tjekker mange felter – som regel fordi der tjekkes felter på flere niveauer af lister.
For eksempel kan en betingelse som “For mindst ét tag på denne kunde, for mindst én varelinje i ordren, for mindst ét tag på varelinjen” resultere i, at der udføres mange tjek, og at der genereres en stor mængde data for at vise resultaterne af disse tjek:

Automatiske gentagelser mislykkes
Denne meddelelse angiver, at kørsler for et workflow gentagne gange mislykkes på grund af et midlertidigt problem, men at de ikke ofte lykkes ved efterfølgende gentagelser. Dette sker ofte, når enten Shopifys Admin API eller en partners app modtager en stor mængde anmodninger.