Hibaelhárítás a Shopify Flow-ban
A Shopify Flow segít automatizálni az üzletében lévő feladatokat és folyamatokat, de hibákba ütközhet, vagy bizonyos korlátokat érhet el a munkafolyamatok létrehozásakor vagy szerkesztésekor. Ez az oldal bemutatja a gyakori problémákat, például a munkafolyamatok korlátait és az adathibákat, és útmutatást nyújt azok megoldásához. Ezen hibák megértése segíthet a problémák elhárításában és a munkafolyamatok zökkenőmentes működésének fenntartásában.
Ezen az oldalon
Hibák munkafolyamatok létrehozásakor
Munkafolyamat létrehozásakor olyan hibákba ütközhet, amelyek megakadályozzák egy új munkafolyamat hozzáadását. Íme néhány hiba, amellyel találkozhat:
A munkafolyamatok számának túllépése
Új munkafolyamat létrehozásakor a következő hibaüzenettel találkozhat: Elérte az engedélyezett 1 000 munkafolyamat maximális korlátját. A folytatáshoz törölje a nem használt munkafolyamatokat, és próbálja újra.
A Flow korlátozza az egy üzlethez tartozó munkafolyamatok számát, a korlát 1 000. Ebbe beletartoznak az aktív és az inaktív munkafolyamatok is. Ha eléri ezt a korlátot, és új munkafolyamatot szeretne létrehozni, akkor törölnie kell a nem használt vagy inaktív munkafolyamatokat.
Ha az üzletében már a korlát bevezetése előtt is több mint 1 000 munkafolyamat volt, akkor az üzlete továbbra is működhet több mint 1 000 munkafolyamattal. Az új munkafolyamatok létrehozásához azonban a korlát alatt kell lennie.
Számos, a Flow alkalmazásban végzett művelet során tapasztalhatja ezt a hibát:
- Új munkafolyamat létrehozása
- Munkafolyamat másolása
- Munkafolyamat importálása
- Sablon telepítése
Túl sok munkafolyamat ugyanahhoz a kiváltóhoz
Egy munkafolyamat aktiválásakor figyelmeztetés jelenhet meg arról, hogy üzlete több mint 10 aktív munkafolyamattal rendelkezik, amelyek ugyanazt a kiváltót használják.
Ha sok munkafolyamat használja ugyanazt a kiváltót, az teljesítményproblémákat okozhat, mivel a kiváltó esemény minden egyes bekövetkezésekor a Flow-nak az összes kapcsolódó munkafolyamatot fel kell dolgoznia. Ez a szétágazás lassabb végrehajtási időt és megnövekedett erőforrás-használatot eredményezhet.
Az egyetlen kiváltóhoz tartozó munkafolyamatok számának csökkentése érdekében fontolja meg a következő megoldásokat:
- Vonja össze az ugyanazt a kiváltót használó munkafolyamatokat egyetlen, több ággal és feltétellel rendelkező munkafolyamattá.
- Inaktiválja vagy törölje a már nem szükséges munkafolyamatokat.
- Vizsgálja meg, hogy egyes munkafolyamatok esetében használható-e specifikusabb kiváltó.
Hibák munkafolyamatok szerkesztésekor
Munkafolyamat szerkesztésekor olyan hibákba ütközhet, amelyek megakadályozzák a mentést. A következőkben a munkafolyamat szerkesztésekor előforduló gyakori hibákat ismertetjük:
Adat nem található
Új művelet munkafolyamathoz való hozzáadásakor a következő hibaüzenettel találkozhat: Adat nem található:

Ez a hiba azért fordul elő, mert számos művelethez, köztük a Termékcímkék hozzáadása művelethez is, szükség van egy Shopify-erőforrásra, például egy termékre. Ha ez az erőforrás nem érhető el, akkor a művelet nem futtatható. Gyakran előfordul, hogy a munkafolyamatok a szükséges adatokhoz hasonló adatokat tartalmaznak, de valójában nem azt biztosítják, amire szükség van.
A következő szakaszok bemutatják azokat a gyakori forgatókönyveket, amelyek ezt a hibát okozhatják, valamint azok megoldási módjait.
1. probléma: Lista érkezett az „Adatok lekérése” műveletből, amikor egyetlen tételre volt szükség
Gyakran előfordul, hogy egy munkafolyamat Shopify-erőforrások listáját adja meg, de a művelet csak egyetlen erőforrást engedélyez. Például a munkafolyamat a Termékadatok lekérése művelettel egy terméklistát ad meg, de a Termékcímkék hozzáadása művelethez egyetlen termékre van szükség.
A hiba megoldásához adjon hozzá egy For each műveletet a lista bejárásához, és hajtsa végre a műveletet a lista minden egyes tételén. Az alábbi példa a For each használatával mutatja be a hibát és a megoldást is:

2. probléma: Lista érkezett a kiváltótól, amikor egyetlen tételre volt szükség
Hasonló hiba fordulhat elő, amikor egy művelet egyetlen erőforrást igényel, de a kiváltó egy listát ad meg. Például a Rendelésteljesítés megjelölése teljesítettként művelethez egy rendelésteljesítésre van szükség, de a kiváltó egy Rendelésből származik, amely a rendelésteljesítések listáját adja meg.
A hiba megoldásához, az 1. problémához hasonlóan, adjon hozzá egy For each műveletet, amellyel bejárhatja a listát, és végrehajthatja a műveletet a lista minden egyes tételén:

Alternatívaként használhat egy másik kiváltót, amely biztosítja a szükséges erőforrást. Például a Rendelés létrehozva kiváltó használata helyett használhatja a Teljesítésre kész rendelésteljesítés kiváltót, amely egyetlen rendelésteljesítést biztosít.

3. probléma: Adathiány az „Ütemezett időpont” kiváltó használatakor
Az Ütemezett időpont kiváltó nem biztosít Shopify-erőforrásadatokat. Ha a kiváltó után Shopify-erőforrást igénylő műveleteket próbál meg csatlakoztatni, akkor hibába fog ütközni.
A hiba megoldásához adjon hozzá egy olyan műveletet, például a Termékadatok lekérése műveletet, amely biztosítja a szükséges adatokat. Ahogy a 1. problémánál is szerepel, hozzá kell adnia egy For each műveletet is, hogy bejárja az adatokat lekérő művelet által visszaadott listát.

4. probléma: Adathiány egy alkalmazáskiváltó használatakor
A 3. problémához hasonlóan egyes, alkalmazások által létrehozott kiváltók nem biztosítják a szükséges Shopify-erőforrásadatokat. Például egy „Vélemény létrehozva” kiváltó megadhat egy e-mail-címet, de nem ad meg Vásárló objektumot, amelyre számos művelethez, például a Vásárlói címkék hozzáadása művelethez szükség van.
A hiba megoldásához használhatja az „Adatok lekérése” műveletet a szükséges Shopify-erőforrás lekéréséhez. Például a Vásárlói adatok lekérése művelettel lekérheti a vásárlói objektumot a kiváltó által megadott e-mail-címből. A többi problémához hasonlóan itt is hozzá kell adnia egy For each műveletet, hogy bejárja az adatokat lekérő művelet által visszaadott listát.
Ha az „Adatok lekérése” nem opció, akkor fel kell vennie a kapcsolatot az alkalmazásfejlesztővel, és meg kell kérdeznie, hogy módosítani tudják-e a kiváltójukat úgy, hogy az biztosítsa a szükséges adatokat.
A várakozási lépések számának túllépése
Új várakozási lépések munkafolyamathoz való hozzáadásakor a következő hibaüzenettel találkozhat: A munkafolyamatok legfeljebb 40 várakozási lépést tartalmazhatnak.
A Flow 40-re korlátozza a munkafolyamatokban engedélyezett várakozási lépések számát. Ha ezt a hibát tapasztalja, akkor túllépte ezt a korlátot. A probléma megoldásához távolítson el várakozási lépéseket a munkafolyamat más részeiből.
Ha már a korlát bevezetése előtt is voltak 40-nél több várakozási lépést tartalmazó munkafolyamatai, akkor azok továbbra is a várt módon működnek. További várakozási lépések hozzáadásához azonban először el kell távolítania a meglévőket, hogy a korlát alatt maradjon.
Ezenkívül az összes várakozási lépés teljes várakozási ideje nem haladhatja meg a 90 napot.
A konfigurációs mező értékének méretkorlátja túllépve
Amikor a munkafolyamat feltételein belüli konfigurációs mezők értékét szerkeszti, a következő hibaüzenettel találkozhat: A konfigurációs mező értékének 50 kB alatt kell lennie.
A Flow 50 kB-ra korlátozza a konfigurációs mező értékének méretét. Ha ezt a hibát tapasztalja, akkor elérte vagy túllépte a korlátot. A probléma megoldásához rövidítse le a mezőhöz hozzáadott adatok hosszát.
Ha már rendelkezik 50 kB vagy annál nagyobb értékű konfigurációs mezőkkel, akkor a munkafolyamatai továbbra is a várt módon futnak. A munkafolyamat módosításához azonban felül kell vizsgálnia a hibát okozó értéket.
Hibák a munkafolyamat futásakor
Amikor egy munkafolyamat futtatása hibába ütközik, a futtatás sikertelenként lesz megjelölve. A hibaüzenet a munkafolyamat-futtatás részleteinél jelenik meg. Az alábbiakban felsorolunk néhány gyakori hibát, amelyekkel egy munkafolyamat sikertelen futtatása során találkozhat:
- Az átmeneti hibák olyan ideiglenes hibák, amelyek akkor fordulnak elő, ha a Flow nem tud végrehajtani egy feladatot. A rendszer addig próbálkozik újra ezekkel a hibákkal, amíg a végrehajtásuk sikeressé nem válik, vagy el nem érik az időtúllépési korlátot.
- A végleges hibák olyan hibák, amelyek akkor fordulnak elő, ha a Flow nem tud végrehajtani egy feladatot, és a feladat nem próbálható újra.
Átmeneti hibák
Az átmeneti hibák olyan ideiglenes hibák, amelyek akkor fordulnak elő, ha a Flow nem tud végrehajtani egy feladatot. A rendszer addig próbálkozik újra ezekkel a hibákkal, amíg a végrehajtásuk sikeressé nem válik, vagy el nem érik az időtúllépési korlátot. Ha például a Flow nem tud kapcsolatba lépni egy partnerrel egy összekötő modulművelet végrehajtása során, akkor a Flow többször is megpróbálja végrehajtani a feladatot, mielőtt feladná.
Az újrapróbálkozások eloszlanak, és az egyes kísérletek közötti késleltetés egyre nő az előző késleltetéshez képest. Általában, ha egy munkafolyamat átmeneti hibákat tapasztal, az hosszú ideig futó állapotban marad, miközben újrapróbálja a feladatokat.
Ha egy feladat újrapróbálása sikeres, akkor a munkafolyamat folytatódik. Ha egy újrapróbált feladat végleges hibát tapasztal, akkor a munkafolyamat sikertelen lesz. Minden munkafolyamat-szakasznak összesen 36 órás felső végrehajtási korlátja van. Ha egy átmeneti hibákkal rendelkező lépés nem jár sikerrel e korlát elérése előtt, akkor a munkafolyamat sikertelen lesz.
A várakozási lépéseket tartalmazó munkafolyamatok szakaszokra vannak osztva, ami befolyásolja, hogy a rendszer hogyan számítja ki az időtúllépési korlátokat egy munkafolyamaton belül. Minden szakasz egy együtt végrehajtott feladatcsoport, és mindegyiknek saját 36 órás időkorlátja van. Ha például egy munkafolyamat tartalmaz egy egyórás várakozási lépést, akkor a várakozási lépés előtti feladatok egy szakaszban, a várakozási lépés utáni feladatok pedig egy másik szakaszban lesznek végrehajtva. Ha egy munkafolyamat több várakozási lépést is tartalmaz, akkor az egyes várakozási lépések közötti feladatok egy szakaszban lesznek végrehajtva. A várakozási lépés nélküli munkafolyamatok egyetlen szakasznak minősülnek.
Az alkalmi átmeneti hibák gyakoriak. Azonban, ha van egy olyan munkafolyamata, amely több futtatás során is következetesen ugyanazzal az átmeneti hibával találkozik, akkor lehetséges, hogy a munkafolyamatot újra kell konfigurálni.
A lépés időtúllépése
A Lépés időtúllépése hibák általában akkor fordulnak elő, amikor a munkafolyamat egyik feladata túl sok adatot próbál lekérdezni egyetlen szakaszon belül. Ez a hiba gyakran olyan munkafolyamatoknál jelentkezik, amelyek listákat dolgoznak fel ciklusban, különösen olyan beágyazott listákat, amelyek túl nagyok a gyors feldolgozáshoz.
Amikor ez a hiba fellép, a kiváltó vagy a várakozási lépés újrapróbálkozás állapotban jelenik meg.
A probléma megoldásához vizsgálja felül a listákhoz és a beágyazott listákhoz hozzáférő feltételeket, hogy megbizonyosodjon arról, hogy helyesen vannak beállítva. Gyakori probléma, hogy egy feltétel a bolt összes termékét ellenőrzi, ahelyett, hogy csak egy rendelés termékeit vizsgálná.
5XX állapot
A legtöbb Flow-művelet HTTP-hívásokkal jár. Időnként hálózati vagy egyéb szerverproblémák miatt a HTTP-hívások meghiúsulhatnak, és 500 és 599 közötti hibakódot adhatnak vissza. A hiba egyszeri előfordulása nem jelent problémát, de az ismétlődő esetek a feladatot kezelő szerverrel kapcsolatos problémára utalhatnak, nem pedig a lépés konfigurációjára.
Ez a fajta hiba leggyakrabban a HTTP-kérés küldése műveletnél jelenik meg, de a legtöbb feladatnál előfordulhat.
GraphQL-korlátozás
Egy munkafolyamat által elvégzett munka teljes mennyiségét API-sebességkorlátok korlátozzák, amelyeket részben az Ön csomagja határoz meg. Ezeket a korlátokat általában nem éri el a rendszer, kivéve, ha egy munkafolyamat nagyon összetett, vagy nem szándékos tervezési hibát tartalmaz.
Az alábbi példák olyan helyzeteket írnak le, amelyek ehhez a hibához vezethetnek:
- A Liquid vagy a munkafolyamat feltételei nagy mennyiségű adatot tartalmazó listát dolgoznak fel ciklusban, például HTML-t tartalmazó metamező-értékeket ellenőriznek.
- A Liquid vagy a munkafolyamat feltételei egy nagy listát dolgoznak fel ciklusban, például egy nagy bolt
shop.orderslistáját. - Egy munkafolyamat végtelen ciklust eredményez, amelyben a munkafolyamat folyamatosan új munkafolyamat-futtatásokat hoz létre. Ez például akkor fordulhat elő, ha a munkafolyamat a Vásárlói címkék hozzáadva kiváltót használja, és tartalmazza a Vásárlói címkék hozzáadása műveletet.
Ha eléri a korlátot, akkor egy GraphQL-korlátozás hibaüzenetet kap. Ez a hiba más munkafolyamatokat is érinthet, amikor megpróbálnak lefutni, ezért azonnal oldja meg ezt a hibát, ha előfordul.
Végleges hibák
A végleges hibák olyan hibák, amelyek akkor fordulnak elő, ha a Flow nem tud végrehajtani egy feladatot, és a feladat nem próbálható újra. Ha például a Flow nem tud e-mailt küldeni, mert az e-mail-cím érvénytelen, akkor nem próbálja meg újra a feladatot. Ehelyett a munkafolyamat sikertelen lesz.
Üresen hagyott kötelező „id” mezők
A Shopify-műveletek futtatásához egy vagy több erőforrásra, például termékre, vásárlóra vagy rendelésre van szükség. Ha a szükséges erőforrás nem érhető el, a művelet nem tud a tervek szerint lefutni. Létrehozhat például rendelést a Shopify adminisztrációs felületén vásárló nélkül. Ha ilyenkor futtat egy műveletet, például a Vásárlói címkék hozzáadása műveletet, az ezzel a hibával meghiúsul.
A hiba megelőzéséhez adjon hozzá egy feltételt a művelet elé, hogy ellenőrizze az erőforrás létezését. Az előző példában, ha belső e-mailt szeretne küldeni ugyanabban a munkafolyamatban, mint a Vásárlói címkék hozzáadása, akkor vagy helyezze az e-mail-küldési műveletet a potenciálisan sikertelen lépés elé, vagy használja a következő megközelítések egyikét:
Helyezze a műveleteket párhuzamos ágakba (ahol egy lépésből 2 vagy több ág indul ki):

Adjon hozzá egy feltételt a művelet elé, hogy ellenőrizze a vásárló jelenlétét. Például ellenőrizheti, hogy a(z) rendelés / vásárló / id nem üres és létezik-e.

A Flow nem rendelkezik jogosulttsággal az Ön Google Sheets-fiókjához. Kérjük, csatlakoztassa újra a fiókját.
A Google Sheets-összekötő modul megköveteli, hogy összekapcsolja Google-fiókját a Flow-val, hogy jogosultsága legyen a munkalapra írni. Ez a hiba akkor fordulhat elő, ha a Flow nem rendelkezik írási jogosulttsággal egy munkalaphoz, vagy mert a fiókot leválasztották a Flow-ról, vagy mert az a fiók nem fér hozzá az adott munkalaphoz.
A probléma megoldásához győződjön meg arról, hogy az összekötő modulhoz használt fiók meg tudja nyitni a munkalapot, és rendelkezik szerkesztési hozzáféréssel. Ha rossz fiók van összekapcsolva, akkor leválaszthatja, és csatlakoztathat egy újat.
Lépések:
- Nyisson meg egy meglévő munkafolyamatot, vagy hozzon létre egy újat.
- Adjon hozzá egy műveletet a munkafolyamathoz.
- Válassza ki a Google Sheets-összekötő modult.
- Kattintson a Leválasztás, majd a Csatlakozás gombra a megfelelő Google-fiók újracsatlakoztatásához.
A Flow-művelet érvénytelen tulajdonságokkal érkezett. A vásárló nem fogadja el a marketingcélú megkereséseket.
A Marketing e-mail küldése művelet nem küld e-maileket olyan vásárlóknak, akik nem egyeztek bele azok fogadásába, és véglegesen sikertelen lesz, ha a munkafolyamat ezt megkísérli.
A probléma megoldásához adjon hozzá egy feltételt a munkafolyamathoz, amely ellenőrzi a vásárló feliratkozási állapotát. Biztosíthatja, hogy a vásárlók beleegyeztek a marketing e-mailek fogadásába, mielőtt elküldené azokat. Kövesse az E-mail-feliratkozók listájának kezelése című részben leírt lépéseket.
Hiányzó erőforrás: [resource type]
Ez a hiba azt jelzi, hogy egy erőforrást, például egy vásárlót vagy rendelést töröltek, mielőtt a munkafolyamat le tudta volna kérni az adatait. Ez leggyakrabban egy várakozási lépés után fordul elő, de magánál a kiváltónál is megtörténhet, ha az erőforrást nagyon gyorsan törlik a kiváltó esemény után.
Értesítés kérése hiba esetén
Ha a hibák befolyásolják az üzlet működését, akkor beállíthat értesítéseket arra az esetre, ha hiba történik. A hibaértesítések munkafolyamatként is létrehozhatók a Munkafolyamat-hiba történt kiváltó használatával. A hibaértesítések a felesleges jelzések csökkentésére szolgálnak, így Ön csak munkafolyamat-verziónként egy értesítést kap.
Kezdésként az alábbi sablonok egyikét használhatja:
- Shopify-riasztás kérése munkafolyamat-futtatási hiba észlelésekor
- E-mailes értesítés munkafolyamat-futtatási hibák észlelésekor
- Slack-értesítés munkafolyamat-futtatási hibák észlelésekor
Futtatások újrapróbálása
Bizonyos esetekben előfordulhat, hogy egy munkafolyamat-futtatás hibát jelez, vagy nem a tervek szerint fut le. A kapcsolódó munkafolyamat hibáinak elhárítása és javítása után a korábbi futtatások manuálisan újrapróbálhatók a korábbi futtatások eredményének visszamenőleges javítása érdekében. Tudjon meg többet a munkafolyamat-futtatások újrapróbálásáról.
Futtatás (sebességkorlátozással)
Bizonyos esetekben egy vagy több munkafolyamat túl sok erőforrást használhat, és hogy ez ne okozzon problémákat, a Flow szándékosan korlátozza a futtatások végrehajtását az üzletében, ami késéseket és időtúllépési hibákat okozhat. Ez a nem hatékony munkafolyamatok átírásával oldható meg, általában egy olyan hiba javításával, amely miatt a munkafolyamat nem a kívánt módon működött.
Túl hosszú futás
Ez az üzenet azt jelzi, hogy egy munkafolyamat futtatásai nagyon hosszú ideig tartanak. Ezt általában az okozza, hogy a munkafolyamaton belül nagy mennyiségű adatot használ, amelynek lekérése sok időt vesz igénybe a Flow számára.
Ezeket az eseteket általában olyan mély lekérési útvonalak okozzák, amelyek több tétellistán haladnak keresztül (például egy termék összes kollekciójában szereplő összes termék összes metamezőjének lekérése):

Ez gyakran összefügg azzal is, hogy a munkafolyamat kiváltó lépése időtúllépést jelez.
Az összes metamezőn végigfutó munkafolyamatok hatékonysága gyakran javítható csupán egy adott metamező használatával. Előfordulhat, hogy több, egymásba ágyazott lista (például egy termék összes kollekciójának minden terméke) vagy különösen nagy listák (például a metamező-meghatározások, amelyek az összes objektum összes metamezőjét tartalmazzák) elérése nem szándékosan történt, és a megfelelő mező (az egyetlen termék vagy egy objektum egyetlen metamezője) kiválasztása jelentősen javíthatja a hatékonyságot. Más esetekben a „Get Product/Order/Customer Data” művelet lekérdezésszűrővel való használata jelentősen csökkentheti a felhasznált objektumok számát, miközben továbbra is hozzáfér a releváns objektumokhoz.
Túl sok adat feldolgozása
Ez az üzenet azt jelzi, hogy egy munkafolyamat futtatásai nagy mennyiségű adatot generálnak. Ezt általában az okozza, hogy összetett feltételek sok mezőt ellenőriznek, ami jellemzően a listák több szintjén lévő mezők ellenőrzéséből adódik.
Például egy olyan feltétel, mint a „Legalább egy címke a vásárlón, legalább egy sorelem a rendelésben, legalább egy címke a sorelemen” számos ellenőrzést eredményezhet, és nagy mennyiségű adatot generálhat az ellenőrzések eredményeinek megjelenítéséhez:

Sikertelen automatikus újrapróbálkozások
Ez az üzenet azt jelzi, hogy egy munkafolyamat futtatásai valamilyen átmeneti probléma miatt ismételten sikertelenek, de a későbbi újrapróbálkozások során nem gyakran járnak sikerrel. Ez gyakran akkor fordul elő, ha a Shopify Admin API-ja vagy egy partneralkalmazás nagy mennyiségű kérelmet kap.