Klaidų šalinimas „Shopify Flow“

„Shopify Flow“ padeda automatizuoti užduotis ir procesus Jūsų parduotuvėje, tačiau kurdami arba redaguodami darbo eigas galite susidurti su klaidomis arba pasiekti tam tikrus apribojimus. Šiame puslapyje paaiškinamos dažniausios problemos, su kuriomis galite susidurti, pvz., darbo eigos apribojimai ir duomenų klaidos, bei pateikiamos gairės, kaip jas išspręsti. Suprasdami šias klaidas, galėsite šalinti triktis ir užtikrinti sklandų darbo eigų veikimą.

Klaidos kuriant darbo eigas

Kuriant darbo eigą gali kilti klaidų, neleidžiančių pridėti naujos darbo eigos. Toliau pateikiamos kelios galimos klaidos:

Viršytas darbo eigų skaičius

Kurdami naują darbo eigą galite susidurti su klaida: Pasiekėte didžiausią leistiną 1 000 darbo eigų limitą. Norėdami tęsti, panaikinkite visas nenaudojamas darbo eigas ir bandykite dar kartą.

Flow riboja darbo eigų, kurias gali turėti parduotuvė, skaičių iki 1 000. Į šį skaičių įtraukiamos ir aktyvios, ir neaktyvios darbo eigos. Jei pasiekiate šį limitą ir norite sukurti naują darbo eigą, turite panaikinti nenaudojamas arba neaktyvias darbo eigas.

Jei Jūsų parduotuvėje buvo daugiau nei 1 000 darbo eigų prieš nustatant šį limitą, galite ir toliau veikti turėdami daugiau nei 1 000 darbo eigų. Tačiau norėdami kurti naujas darbo eigas, turite neviršyti šio limito.

Su šia klaida galite susidurti atlikdami įvairius veiksmus Flow programėlėje:

  • Naujos darbo eigos kūrimas
  • Darbo eigos dubliavimas
  • Darbo eigos importavimas
  • Šablono diegimas
Per daug darbo eigų vienam paleidikliui

Aktyvuodami darbo eigą, galite matyti įspėjimą, kad Jūsų parduotuvėje yra daugiau nei 10 aktyvių darbo eigų, naudojančių tą patį paleidiklį.

Jei daug darbo eigų naudoja tą patį paleidiklį, gali kilti veikimo problemų, nes kaskart įvykus paleidiklio įvykiui, „Flow“ turi apdoroti visas susijusias darbo eigas. Toks išsišakojimas gali lemti ilgesnę vykdymo trukmę ir didesnį išteklių naudojimą.

Norėdami sumažinti darbo eigų, priskirtų vienam paleidikliui, skaičių, apsvarstykite šiuos būdus:

  • Sujunkite tą patį paleidiklį naudojančias darbo eigas į vieną darbo eigą su keliais atsišakojimais ir sąlygomis.
  • Išjunkite arba ištrinkite nebereikalingas darbo eigas.
  • Peržiūrėkite, ar kai kuriose darbo eigose vietoje to nebūtų galima naudoti konkretesnio paleidiklio.

Klaidos redaguojant darbo eigas

Redaguojant darbo eigą gali kilti klaidų, neleidžiančių jos išsaugoti. Toliau pateikiamos dažnos klaidos, su kuriomis galite susidurti:

Duomenų nerasta

Pridėdami naują veiksmą į darbo eigą galite susidurti su klaida Duomenų nerasta:

Klaida „Duomenų nerasta“

Ši klaida kyla todėl, kad daugeliui veiksmų, įskaitant Pridėti produkto žymes, reikalingas „Shopify“ išteklius, pavyzdžiui, produktas. Jei tas išteklius nepasiekiamas, veiksmas negali būti įvykdytas. Dažnai darbo eigos gali turėti duomenų, kurie yra panašūs į reikiamus, bet iš tiesų nepateikia to, ko reikia.

Tolesniuose skyriuose aprašomi dažni scenarijai, galintys sukelti šią klaidą, ir nurodoma, kaip ją išspręsti.

1 problema: veiksmas „Gauti duomenis“ pateikė sąrašą, kai buvo reikalingas vienas elementas

Dažnai darbo eiga pateikia „Shopify“ išteklių sąrašą, tačiau veiksmas leidžia naudoti tik vieną išteklių. Pavyzdžiui, darbo eiga pateikia produktų sąrašą naudojant veiksmą Gauti produkto duomenis, tačiau veiksmui Pridėti produkto žymes reikia vieno produkto.

Norėdami išspręsti šią klaidą, galite pridėti veiksmą Kiekvienam, kad cikliškai apdorotumėte sąrašą, ir pritaikyti veiksmą kiekvienam jo elementui. Šiame pavyzdyje parodyta ir klaida, ir sprendimas naudojant Kiekvienam:

Klaida „Duomenų nerasta“

2 problema: paleidiklis pateikė sąrašą, kai buvo reikalingas vienas elementas

Panaši klaida gali kilti, kai veiksmui reikia vieno ištekliaus, o paleidiklis pateikia sąrašą. Pavyzdžiui, veiksmui Pažymėti vykdymo užsakymą kaip įvykdytą reikia vykdymo užsakymo, tačiau paleidiklis gaunamas iš užsakymo, kuris pateikia vykdymo užsakymų sąrašą.

Norėdami išspręsti šią klaidą, kaip ir 1-os problemos atveju, galite pridėti veiksmą Kiekvienam, kad cikliškai apdorotumėte sąrašą ir pritaikytumėte veiksmą kiekvienam jo elementui:

Sprendimas vykdymo užsakymams

Arba galite naudoti kitą paleidiklį, kuris pateikia reikiamą išteklių. Pavyzdžiui, užuot naudoję paleidiklį Sukurtas užsakymas, galite naudoti paleidiklį Vykdymo užsakymas paruoštas vykdyti, kuris pateikia vieną vykdymo užsakymą.

Paleidiklio „Vykdymo užsakymas paruoštas vykdyti“ pavyzdys

3 problema: paleidiklis „Suplanuotas laikas“ nepateikė duomenų

Paleidiklis Suplanuotas laikas nepateikia „Shopify“ išteklių duomenų. Jei po paleidiklio bandysite prijungti veiksmus, kuriems reikia „Shopify“ išteklių, susidursite su klaida.

Norėdami išspręsti šią klaidą, pridėkite veiksmą, pvz., Gauti produkto duomenis, kuris pateikia reikiamus duomenis. Kaip nurodyta 1-os problemos aprašyme, taip pat turite pridėti veiksmą Kiekvienam, kad cikliškai apdorotumėte bet kokį sąrašą, kurį pateikia duomenis gaunantis veiksmas.

Trūkstamo būtino produkto pavyzdys

4 problema: programėlės paleidiklis nepateikė duomenų

Panašiai kaip 3-ios problemos atveju, kai kurie programėlių sukurti paleidikliai nepateikia būtinų „Shopify“ išteklių duomenų. Pavyzdžiui, paleidiklis „Sukurta apžvalga“ gali pateikti el. pašto adresą, bet ne kliento objektą, kuris reikalingas daugeliui veiksmų, pvz., Pridėti kliento žymes.

Norėdami išspręsti šią klaidą, galbūt galėsite naudoti veiksmą „Gauti duomenis“, kad gautumėte reikiamą „Shopify“ išteklių. Pavyzdžiui, galite naudoti Gauti kliento duomenis, kad gautumėte kliento objektą iš paleidiklio pateikto el. pašto adreso. Kaip ir kitų problemų atveju, taip pat turite pridėti veiksmą Kiekvienam, kad cikliškai apdorotumėte bet kokį sąrašą, kurį pateikia duomenis gaunantis veiksmas.

Jei veiksmas „Gauti duomenis“ netinka, gali tekti susisiekti su programėlės kūrėju ir paklausti, ar jis gali pakeisti savo paleidiklį, kad šis pateiktų reikiamus duomenis.

Viršytas laukimo veiksmų skaičius

Pridėdami naujus laukimo veiksmus į savo darbo eigą, galite susidurti su klaida: Darbo eigos turi turėti 40 arba mažiau laukimo veiksmų.

Flow riboja leistiną laukimo veiksmų skaičių darbo eigoje iki 40. Jei susiduriate su šia klaida, vadinasi, viršijote šį limitą. Norėdami išspręsti problemą, pašalinkite laukimo veiksmus kitose darbo eigos vietose.

Jei jau turėjote darbo eigų, kuriose yra daugiau nei 40 laukimo veiksmų, prieš įvedant šį apribojimą, jos ir toliau veiks, kaip numatyta. Tačiau, norėdami pridėti papildomų laukimo veiksmų, pirmiausia turite pašalinti esamus, kad neviršytumėte limito.

Be to, bendra laukimo trukmė visuose laukimo veiksmuose negali viršyti 90 dienų.

Viršytas konfigūracijos lauko reikšmės dydžio limitas

Redaguodami konfigūracijos laukų reikšmes savo darbo eigos sąlygose, galite susidurti su klaida: Konfigūracijos lauko reikšmė turi būti mažesnė nei 50 kB.

Flow riboja konfigūracijos lauko reikšmės dydį iki 50 kB duomenų. Kai susiduriate su šia klaida, vadinasi, pasiekėte arba viršijote limitą. Norėdami išspręsti problemą, sutrumpinkite į tą lauką pridedamų duomenų ilgį.

Jei jau turite konfigūracijos laukų, kurių reikšmė yra 50 kB ar daugiau, Jūsų darbo eigos ir toliau veiks, kaip numatyta. Tačiau, norėdami atlikti darbo eigos pakeitimus, turite pataisyti reikšmę, dėl kurios kyla klaida.

Klaidos, kai vykdoma darbo eiga

Kai darbo eigos paleidimo metu įvyksta klaida, paleidimas pažymimas kaip nepavykęs. Klaidos pranešimas rodomas darbo eigos paleidimo informacijoje. Toliau nurodytos dažnos klaidos, su kuriomis galite susidurti, kai nepavyksta darbo eigos paleidimas:

  • Laikinosios klaidos yra laikinos klaidos, kurios įvyksta, kai „Flow“ negali įvykdyti užduoties. Šios užduotys bandomos atlikti iš naujo, kol pavyksta arba kol pasiekiama skirtojo laiko pabaigos riba.
  • Nuolatinės klaidos yra klaidos, kurios įvyksta, kai „Flow“ negali įvykdyti užduoties ir užduoties negalima bandyti atlikti iš naujo.

Laikinosios klaidos

Laikinosios klaidos yra laikinos klaidos, kurios įvyksta, kai „Flow“ negali įvykdyti užduoties. Šios užduotys bandomos atlikti iš naujo, kol pavyksta arba kol pasiekiama skirtojo laiko pabaigos riba. Pavyzdžiui, jei „Flow“ negali susisiekti su partneriu vykdant jungties veiksmą, „Flow“ kelis kartus bando užduotį atlikti iš naujo, prieš nutraukiant bandymus.

Pakartotiniai bandymai išdėstomi laike, o delsa tarp kiekvieno paskesnio bandymo didėja. Paprastai, kai darbo eigoje įvyksta laikinųjų klaidų, ji ilgai išlieka vykdymo būsenos, nes bandoma iš naujo atlikti užduotis.

Kai užduotį pavyksta sėkmingai atlikti pakartotinai, darbo eiga tęsiama. Jei pakartotinai atliekant užduotį įvyksta nuolatinė klaida, darbo eiga nepavyksta. Kiekvienai darbo eigos skilčiai taikoma bendra 36 valandų viršutinė vykdymo riba. Jei veiksmas, kuriame yra laikinųjų klaidų, nepavyksta prieš pasiekiant šią ribą, darbo eiga nepavyksta.

Darbo eigos su laukimo veiksmais yra padalytos į skiltis, o tai turi įtakos, kaip darbo eigoje apskaičiuojamos skirtojo laiko pabaigos ribos. Kiekviena skiltis yra kartu vykdomų užduočių grupė, ir kiekvienai iš jų taikoma atskira 36 valandų laiko riba. Pavyzdžiui, jei darbo eigoje yra laukimo veiksmas, kai laukiama vieną valandą, užduotys prieš laukimo veiksmą bus vykdomos kartu vienoje skiltyje, o užduotys po laukimo veiksmo – kitoje. Jei darbo eigoje yra keli laukimo veiksmai, užduotys tarp kiekvieno laukimo veiksmo bus vykdomos kartu vienoje skiltyje. Darbo eigos be laukimo veiksmo laikomos viena skiltimi.

Retkarčiais pasitaikančios laikinosios klaidos yra įprastos. Tačiau jei Jūsų darbo eiga keliuose paleidimuose nuolat susiduria su ta pačia laikinąja klaida, gali reikėti ją sukonfigūruoti iš naujo.

Veiksmo laikas baigėsi

Veiksmo laikas baigėsi klaidos paprastai įvyksta, kai darbo eigos užduotis bando pateikti užklausą dėl per didelio duomenų kiekio vienoje skiltyje. Ši klaida dažnai įvyksta darbo eigose, kurios cikliškai peržiūri sąrašus, ypač įdėtuosius sąrašus, kurie yra per dideli, kad juos būtų galima greitai apdoroti.

Kai įvyksta ši klaida, paleidiklis arba laukimo veiksmas rodomas kaip bandoma iš naujo.

Norėdami išspręsti šią problemą, peržiūrėkite sąlygas, kurios pasiekia sąrašus ir įdėtuosius sąrašus, kad patvirtintumėte, jog jos nustatytos teisingai. Dažna problema yra sąlyga, kuri tikrina visus parduotuvės produktus, o ne tik produktus, esančius užsakyme.

5XX būsena

Dauguma „Flow“ veiksmų apima HTTP iškvietų siuntimą. Retkarčiais dėl tinklo ar kitų serverio problemų HTTP iškvietos gali nepavykti ir grąžinti klaidos kodą nuo 500 iki 599. Vienas šios klaidos atvejis nėra problema, tačiau pasikartojantys atvejai gali rodyti problemą, susijusią su užduotį tvarkančiu serveriu, o ne su veiksmo konfigūracija.

Šio tipo klaida dažniausiai rodoma atliekant veiksmą Siųsti HTTP užklausą, tačiau ji gali įvykti atliekant daugumą užduočių.

„GraphQL“ apribotas

Bendra darbo eigos atlikto darbo apimtis yra ribojama API greičio ribų, kurios iš dalies nustatomos pagal Jūsų planą. Paprastai šios ribos nepasiekiamos, nebent darbo eiga yra labai sudėtinga arba joje yra netyčinė projektavimo klaida.

Toliau pateiktuose pavyzdžiuose aprašomos situacijos, dėl kurių gali įvykti ši klaida:

  • Darbo eigos „Liquid“ arba sąlygos cikliškai peržiūri sąrašą su dideliu duomenų kiekiu, pavyzdžiui, tikrinant metalaukų reikšmes, kuriose yra HTML.
  • Darbo eigos „Liquid“ arba sąlygos cikliškai peržiūri didelį sąrašą, pavyzdžiui, cikliškai peržiūrint shop.orders didelėje parduotuvėje.
  • Darbo eiga sukuria begalinį ciklą, kuriame darbo eiga nuolat kuria naujus darbo eigos paleidimus. Pavyzdžiui, taip gali nutikti, jei darbo eigoje naudojamas paleidiklis Pridėtos kliento žymos ir yra veiksmas Pridėti kliento žymas.

Jei riba pasiekiama, gausite „GraphQL“ apribotas klaidą. Ši klaida gali paveikti kitas darbo eigas, kai bandoma jas paleisti, todėl nedelsdami ištaisykite šią klaidą, jei ji įvyksta.

Nuolatinės klaidos

Nuolatinės klaidos yra klaidos, kurios įvyksta, kai „Flow“ negali įvykdyti užduoties ir užduoties negalima bandyti atlikti iš naujo. Pavyzdžiui, jei „Flow“ negali išsiųsti el. laiško, nes el. pašto adresas yra neteisingas, užduotis nebus bandoma atlikti iš naujo. Vietoj to, darbo eiga nepavyks.

Laukai: ID yra privalomi, bet tušti

Kad būtų įvykdyti, „Shopify“ veiksmams reikia vieno ar kelių išteklių, pavyzdžiui, produkto, kliento ar užsakymo. Jei reikiamas išteklius nepasiekiamas, veiksmas negali būti įvykdytas, kaip numatyta. Pavyzdžiui, „Shopify“ administratoriaus skydelyje galima sukurti užsakymą be kliento. Jei vykdote veiksmą, pavyzdžiui, Pridėti kliento žymas, veiksmas nepavyksta ir parodoma ši klaida.

Kad išvengtumėte šios klaidos, prieš veiksmą pridėkite sąlygą, kuri patikrintų, ar išteklius egzistuoja. Ankstesniame pavyzdyje, jei toje pačioje darbo eigoje kaip ir Pridėti kliento žymas norite siųsti vidinį el. laišką, galite el. laiško veiksmą patalpinti prieš veiksmą, kuris gali nepavykti, arba naudoti vieną iš šių būdų:

Patalpinkite veiksmus lygiagrečiose šakose (kai iš veiksmo išeina 2 ar daugiau šakų):

Pavyzdys, rodantis du lygiagrečius veiksmus po paleidiklio.

Prieš veiksmą pridėkite sąlygą, kad patikrintumėte, ar yra klientas. Pavyzdžiui, galite patikrinti, ar užsakymo / kliento / ID nėra tuščias ir egzistuoja.

Pavyzdys, rodantis sąlygą, ieškančią ID.

„Flow“ neturi leidimo pasiekti Jūsų „Google Sheets“ paskyros. Prijunkite savo paskyrą iš naujo.

„Google Sheets“ jungtis reikalauja, kad susietumėte savo „Google“ paskyrą su „Flow“, kad turėtumėte leidimą rašyti į lapą. Ši klaida gali įvykti, kai „Flow“ neturi leidimo rašyti į lapą, nes paskyra buvo atsieta nuo „Flow“ arba ta paskyra negali pasiekti to lapo.

Norėdami tai išspręsti, įsitikinkite, kad jungčiai naudojama paskyra gali atidaryti lapą ir turi redagavimo prieigą. Jei susieta netinkama paskyra, galite ją atjungti ir prijungti naują.

Veiksmai:

  1. Atidarykite esamą arba sukurkite naują darbo eigą.
  2. Pridėkite veiksmą prie darbo eigos.
  3. Pasirinkite „Google Sheets“ jungtį.
  4. Spustelėkite Atjungti, tada spustelėkite Prijungti, kad iš naujo prijungtumėte tinkamą „Google“ paskyrą.
Gautas „Flow“ veiksmas su netinkamomis ypatybėmis. Klientas nesutinka gauti rinkodaros pranešimų.

Veiksmas Siųsti rinkodaros el. laišką nesiunčia el. laiškų klientams, kurie nesutiko jų gauti, ir visam laikui nepavyksta, jei darbo eiga bando tai padaryti.

Norėdami tai išspręsti, darbo eigoje pridėkite sąlygą, kuri patikrintų klientų prenumeratos būseną. Galite užtikrinti, kad klientai sutiko gauti rinkodaros el. laiškus, prieš juos siunčiant. Atlikite veiksmus, nurodytus El. pašto prenumeratorių sąrašo valdyme.

Trūksta ištekliaus, skirto [ištekliaus tipas]

Ši klaida rodo, kad išteklius, pavyzdžiui, klientas ar užsakymas, buvo ištrintas, prieš darbo eigai spėjus gauti jo duomenis. Dažniausiai tai įvyksta po laukimo veiksmo, bet tai gali nutikti ir paleidiklio metu, jei išteklius ištrinamas labai greitai po paleidiklio įvykio.

Gauti pranešimą, kai įvyksta klaida

Jei klaidos turės įtakos Jūsų parduotuvės veiklai, galite nustatyti pranešimus, kurie bus siunčiami įvykus klaidai. Pranešimus apie klaidas galima sukurti kaip darbo eigą naudojant paleidiklį Įvyko darbo eigos klaida. Pranešimai apie klaidas yra skirti informaciniam triukšmui sumažinti, todėl gausite tik vieną pranešimą kiekvienai darbo eigos versijai.

Norėdami pradėti, galite naudoti vieną iš šių šablonų:

Paleidimų kartojimas

Kai kuriais atvejais darbo eigos paleidimas gali susidurti su klaida arba įvykti ne taip, kaip numatyta. Pašalinus triktis ir ištaisius atitinkamos darbo eigos problemas, ankstesnius paleidimus galima pakartoti rankiniu būdu, kad būtų atgaline data ištaisyti jų rezultatai. Sužinokite daugiau apie darbo eigos paleidimų kartojimą.

Vykdymas (dažnis apribotas)

Kai kuriais atvejais darbo eiga arba darbo eigos gali naudoti per daug išteklių. Siekdama išvengti dėl to kylančių problemų, Flow sąmoningai apriboja paleidimų vykdymą Jūsų parduotuvėje, o tai gali sukelti delsą ir skirtojo laiko pabaigos klaidas. Tai galima ištaisyti perrašant neveiksmingas darbo eigas, dažniausiai norint ištaisyti klaidą, dėl kurios jos neveikė taip, kaip numatyta.

Per ilgas vykdymas

Šis pranešimas rodo, kad darbo eigos paleidimai vykdomi labai ilgai. Dažniausiai taip nutinka dėl to, kad darbo eigoje naudojamas didelis duomenų kiekis, kurį Flow ilgai nuskaito.

Taip dažniausiai nutinka dėl sudėtingų užklausų kelių, apimančių kelis elementų sąrašus (pavyzdžiui, kai prašoma visų metalaukų, skirtų visiems produktams visose kolekcijose, kurioms produktas priklauso):

Per ilgai vykdomos darbo eigos pavyzdys.

Tai taip pat dažnai siejama su darbo eigos paleidiklio veiksmo skirtojo laiko pabaiga.

Darbo eigų, kurios cikle peržiūri visus metalaukus, našumą dažnai galima pagerinti naudojant tik konkretų metalauką. Prieiga prie kelių įdėtųjų sąrašų (pvz., visi produktai visose produkto kolekcijose) arba ypač didelių sąrašų (pvz., metalaukų apibrėžimai, kuriuose yra visi visų objektų metalaukai) galėjo būti nustatyta netyčia. Pasirinkus tinkamą lauką (vieną produktą arba vieną objekto metalauką), galima gerokai padidinti efektyvumą. Kitais atvejais, naudojant veiksmą „Gauti produkto / užsakymo / kliento duomenis“ su užklausos filtru, galima gerokai sumažinti naudojamų objektų skaičių, tačiau vis tiek pasiekti reikiamus.

Per didelio duomenų kiekio apdorojimas

Šis pranešimas rodo, kad darbo eigos paleidimai generuoja didelį duomenų kiekį. Dažniausiai taip nutinka dėl sudėtingų sąlygų, kuriomis tikrinama daug laukų, paprastai dėl to, kad laukai tikrinami keliuose sąrašų lygmenyse.

Pavyzdžiui, tokia sąlyga kaip „Bent vienai šio kliento žymai, bent vienai užsakymo prekių pozicijai, bent vienai prekių pozicijos žymai“ gali lemti, kad bus atlikta daug patikrų ir sugeneruota daug duomenų, siekiant parodyti tų patikrų rezultatus:

Darbo eigos, bandančios apdoroti per daug duomenų, pavyzdys.

Automatinių pakartotinių bandymų klaidos

Šis pranešimas rodo, kad darbo eigos paleidimai nuolat stringa dėl laikinos problemos, o vėlesni pakartotiniai bandymai dažnai būna nesėkmingi. Taip dažnai nutinka, kai Shopify Admin API arba partnerio programėlė sulaukia didelio užklausų srauto.