Odpravljanje napak v storitvi Shopify Flow

Shopify Flow vam pomaga avtomatizirati opravila in procese v vaši trgovini, vendar lahko pri ustvarjanju ali urejanju potekov dela naletite na napake ali dosežete določene omejitve. Na tej strani so pojasnjene pogoste težave, s katerimi se lahko srečate, na primer omejitve potekov dela in napake v podatkih, ter navodila za njihovo odpravljanje. Razumevanje teh napak vam lahko pomaga pri odpravljanju težav in zagotavljanju nemotenega izvajanja vaših potekov dela.

Napake pri ustvarjanju potekov dela

Pri ustvarjanju poteka dela lahko naletite na napake, ki vam preprečujejo dodajanje novega poteka dela. Tukaj je nekaj napak, na katere lahko naletite:

Preseženo število potekov dela

Pri ustvarjanju novega poteka dela lahko naletite na napako: Dosegli ste največjo dovoljeno omejitev 1000 potekov dela. Če želite nadaljevati, izbrišite morebitne neuporabljene poteke dela in poskusite znova.

Aplikacija Flow omejuje število potekov dela v trgovini na 1000. To vključuje aktivne in neaktivne poteke dela. Če dosežete to omejitev in želite ustvariti nov potek dela, izbrišite neuporabljene ali neaktivne poteke dela.

Če je imela vaša trgovina več kot 1000 potekov dela, preden je bila določena ta omejitev, lahko trgovina še naprej deluje z več kot 1000 poteki dela. Vendar pa morate biti za ustvarjanje novih potekov dela pod omejitvijo.

Do te napake lahko pride pri izvajanju več dejanj v aplikaciji Flow:

  • Ustvarjanje novega poteka dela
  • Podvajanje poteka dela
  • Uvoz poteka dela
  • Namestitev predloge
Too many workflows on the same trigger

When activating a workflow, you might see a warning that your store has more than 10 active workflows using the same trigger.

Having many workflows that share the same trigger can cause performance issues, because each time the trigger event occurs, Flow must process all of the associated workflows. This fan-out can lead to slower execution times and increased resource usage.

To reduce the number of workflows on a single trigger, consider the following approaches:

  • Combine workflows that use the same trigger into a single workflow with multiple branches and conditions.
  • Deactivate or delete workflows that are no longer needed.
  • Review whether some workflows could use a more specific trigger instead.

Napake pri urejanju potekov dela

Pri urejanju poteka dela lahko naletite na napake, ki vam preprečujejo shranjevanje poteka dela. V nadaljevanju so navedene pogoste napake, na katere lahko naletite pri urejanju poteka dela:

Podatki niso najdeni

Pri dodajanju novega dejanja v potek dela lahko naletite na napako, ki pravi: Podatki niso najdeni:

Napaka »Podatki niso najdeni«

Do te napake pride, ker številna dejanja, vključno z dejanjem Dodaj oznake izdelka, zahtevajo vir Shopify, kot je izdelek. Če ta vir ni na voljo, se dejanje ne more izvesti. Običajno lahko poteki dela vsebujejo podatke, ki so podobni zahtevanim podatkom, vendar dejansko ne zagotavljajo tistega, kar je potrebno.

V naslednjih razdelkih so opisani pogosti scenariji, ki lahko povzročijo to napako, in kako jih odpraviti.

Težava 1: Dejanje za pridobivanje podatkov je vrnilo seznam, zahtevan pa je bil en kos

Potek dela pogosto zagotovi seznam virov Shopify, vendar dejanje dovoljuje le en vir. Potek dela na primer zagotovi seznam izdelkov prek dejanja Pridobi podatke o izdelku, vendar dejanje Dodaj oznake izdelka zahteva posamezen izdelek.

Da odpravite to napako, lahko dodate dejanje Za vsakega, da se pomaknete skozi seznam in pokličete dejanje za vsak kos na seznamu. Ta primer prikazuje napako in rešitev z uporabo dejanja Za vsakega:

Napaka »Podatki niso najdeni«

Težava 2: Sprožilec je vrnil seznam, zahtevan pa je bil en kos

Do podobne napake lahko pride, ko dejanje zahteva en vir, vendar sprožilec zagotovi seznam. Dejanje Označi nalog za uresničitev kot izpolnjen na primer zahteva Nalog za uresničitev, vendar sprožilec izvira iz Naročila, ki zagotavlja seznam naročil za izpolnitev.

Če želite odpraviti to napako, lahko tako kot pri 1. težavi dodate dejanje Za vsakega, da se pomaknete skozi seznam in pokličete dejanje za vsak kos na seznamu:

Rešitev za naročila za izpolnitev

Lahko pa uporabite drug sprožilec, ki zagotovi zahtevani vir. Namesto sprožilca Naročilo je ustvarjeno lahko na primer uporabite sprožilec Nalog za uresničitev je pripravljen na izpolnitev, ki zagotovi en nalog za uresničitev.

Primer sprožilca za nalog za uresničitev, ki je pripravljen na izpolnitev

Težava 3: Sprožilec Načrtovani čas ni vrnil nobenih podatkov

Sprožilec Načrtovani čas ne zagotavlja podatkov o virih Shopify. Če po sprožilcu poskušate povezati dejanja, ki zahtevajo vire Shopify, boste naleteli na napako.

Za odpravljanje te napake dodajte dejanje, kot je Pridobi podatke o izdelku, ki zagotovi zahtevane podatke. Kot je navedeno v Težavi 1, morate dodati tudi dejanje Za vsakega, da se pomaknete skozi kateri koli seznam, ki ga vrne dejanje za pridobivanje podatkov.

Primer manjkajočega zahtevanega izdelka

Težava 4: Sprožilec aplikacije ni zagotovil nobenih podatkov

Podobno kot pri težavi 3 nekateri sprožilci, ki jih ustvarijo aplikacije, ne zagotavljajo zahtevanih podatkov o viru Shopify. Sprožilec »Ocena je ustvarjena« lahko na primer zagotovi e-poštni naslov, ne pa tudi objekta Stranka, ki ga potrebujejo številna dejanja, kot je Dodaj oznake stranke.

Za odpravljanje te napake lahko morda uporabite dejanje »Pridobi podatke«, da pridobite zahtevani vir Shopify. Uporabite lahko na primer Pridobi podatke o stranki, da dobite objekt stranke iz e-poštnega naslova, ki ga zagotovi sprožilec. Kot pri ostalih težavah morate tudi tukaj dodati dejanje Za vsakega, da se pomaknete skozi kateri koli seznam, ki ga vrne dejanje za pridobivanje podatkov.

Če »Pridobi podatke« ni možnost, se boste morda morali obrniti na razvijalca aplikacije in ga prositi, ali lahko prilagodi svoj sprožilec, da bo ta zagotavljal zahtevane podatke.

Preseženo število korakov čakanja

Pri dodajanju novih korakov čakanja v potek dela lahko naletite na napako: Poteki dela lahko imajo največ 40 korakov čakanja.

Aplikacija Flow omejuje število dovoljenih korakov čakanja v poteku dela na 40. Če naletite na to napako, ste presegli to omejitev. Za odpravo težave odstranite korake čakanja na drugih mestih v svojem poteku dela.

Če ste imeli pred uvedbo te omejitve že poteke dela z več kot 40 koraki čakanja, bodo vaši poteki dela še naprej delovali po pričakovanjih. Če pa želite dodati dodatne korake čakanja, morate najprej odstraniti obstoječe, da boste pod omejitvijo.

Poleg tega skupni čas čakanja vseh korakov čakanja ne sme preseči 90 dni.

Presežena je bila omejitev velikosti vrednosti konfiguracijskega polja

Pri urejanju vrednosti konfiguracijskih polj znotraj pogojev v vašem poteku dela lahko naletite na napako, ki pravi: Vrednost konfiguracijskega polja mora biti manjša od 50 kB.

Aplikacija Flow omejuje velikost vrednosti konfiguracijskega polja na 50 kB podatkov. Če naletite na to napako, ste dosegli ali presegli omejitev. Za odpravo težave skrajšajte dolžino podatkov, ki jih dodajate v to polje.

Če že imate konfiguracijska polja z vrednostjo 50 kB ali več, se bodo vaši poteki dela še naprej izvajali po pričakovanjih. Vendar pa morate za uvajanje sprememb v svoj potek dela popraviti vrednost, ki povzroča napako.

Napake pri izvajanju poteka dela

Ko pri izvajanju poteka dela pride do napake, je to izvajanje označeno kot neuspešno. Sporočilo o napaki je prikazano v podrobnostih izvajanja poteka dela. V nadaljevanju so navedene pogoste napake, na katere lahko naletite, ko izvajanje poteka dela ne uspe:

  • Prehodne napake so začasne napake, ki se pojavijo, ko aplikacija Flow ne more dokončati opravila. Ta opravila se znova poskušajo izvesti, dokler niso uspešna ali dokler ni dosežena časovna omejitev.
  • Trajne napake so napake, ki se pojavijo, ko aplikacija Flow ne more dokončati opravila in ga ni mogoče znova poskusiti izvesti.

Prehodne napake

Prehodne napake so začasne napake, ki se pojavijo, ko aplikacija Flow ne more dokončati opravila. Ta opravila se znova poskušajo izvesti, dokler niso uspešna ali dokler ni dosežena časovna omejitev. Če na primer aplikacija Flow ne more vzpostaviti stika s partnerjem pri izvajanju dejanja povezovalnika, bo aplikacija Flow opravilo poskusila znova izvesti večkrat, preden odneha.

Ponovni poskusi so razporejeni, pri čemer se zakasnitev med vsakim naslednjim poskusom poveča glede na prejšnjo zakasnitev. Običajno ostane potek dela, ko naleti na prehodne napake, dlje časa v stanju izvajanja, saj znova poskuša izvesti opravila.

Ko je opravilo uspešno znova izvedeno, se potek dela nadaljuje. Če pri znova izvedenem opravilu pride do trajne napake, potek dela ni uspešen. Vsak odsek poteka dela ima skupno zgornjo omejitev izvajanja 36 ur. Če korak s prehodnimi napakami ni uspešen, preden je ta omejitev dosežena, potek dela ni uspešen.

Poteki dela s koraki čakanja so razdeljeni na odseke, kar vpliva na izračun časovnih omejitev v poteku dela. Vsak odsek je skupina opravil, ki se izvajajo skupaj, in vsak ima svojo 36-urno časovno omejitev. Če ima na primer potek dela korak čakanja, ki traja eno uro, se bodo opravila pred korakom čakanja izvedla skupaj v enem odseku, opravila po koraku čakanja pa v drugem odseku. Če ima potek dela več korakov čakanja, se bodo opravila med vsakim korakom čakanja izvedla skupaj v enem odseku. Poteki dela brez koraka čakanja se obravnavajo kot en odsek.

Občasne prehodne napake so pogoste. Vendar pa bo morda treba znova konfigurirati potek dela, če pri več izvajanjih poteka dela dosledno prihaja do iste prehodne napake.

Časovna omejitev koraka je potekla

Napake z opozorilom Step timed out (Časovna omejitev koraka je potekla) se običajno pojavijo, ko poskuša opravilo v poteku dela poizvedovati po preveliki količini podatkov znotraj enega odseka. Ta napaka se pogosto pojavi v potekih dela, ki se izvajajo v zanki po seznamih, zlasti gnezdenih seznamih, ki so preveliki za hitro obdelavo.

Ko se prikaže ta napaka, je sprožilec ali korak čakanja prikazan kot retrying (ponovni poskus).

To težavo odpravite tako, da pregledate pogoje za dostop do seznamov in gnezdenih seznamov ter potrdite, da so pravilno nastavljeni. Pogosta težava je pogoj, ki preverja vse izdelke v trgovini, namesto zgolj izdelkov v naročilu.

Stanje 5XX

Večina dejanj v aplikaciji Flow vključuje klice HTTP. Občasno lahko omrežne ali druge težave s strežnikom povzročijo neuspešne klice HTTP in vrnejo kodo napake med 500 in 599. En sam pojav te napake ni problematičen, ponavljajoči se primeri pa lahko nakazujejo na težavo s strežnikom, ki obdeluje opravilo, in ne na to, kako je korak konfiguriran.

Ta vrsta napake se najpogosteje prikaže pri dejanju Pošlji zahtevo HTTP, vendar se lahko pojavi pri večini opravil.

API GraphQL je omejen

Skupen obseg dela, ki ga opravi potek dela, je omejen z omejitvami števila zahtev API-ja, ki so deloma določene z vašim paketom. Običajno te omejitve niso dosežene, razen če je potek dela zelo kompleksen ali vsebuje nenamerno napako v zasnovi.

Naslednji primeri opisujejo situacije, ki lahko privedejo do te napake:

  • Koda Liquid ali pogoji v poteku dela se izvajajo v zanki po seznamu z veliko količino podatkov, na primer pri preverjanju vrednosti metapolja, ki vsebujejo kodo HTML.
  • Koda Liquid ali pogoji v poteku dela se izvajajo v zanki po velikem seznamu, na primer v zanki po shop.orders v veliki trgovini.
  • Potek dela povzroči neskončno zanko, v kateri nenehno ustvarja nova izvajanja poteka dela. To se lahko na primer zgodi, če potek dela uporablja sprožilec Dodane so bile oznake stranke in vključuje dejanje Dodaj oznake stranke.

Če je dosežena omejitev, prejmete napako GraphQL throttled (API GraphQL je omejen). Ta napaka lahko vpliva na druge poteke dela, ko se poskušajo zagnati, zato jo nemudoma odpravite, če se pojavi.

Trajne napake

Trajne napake so napake, ki se pojavijo, ko aplikacija Flow ne more dokončati opravila in ga ni mogoče znova poskusiti izvesti. Če na primer aplikacija Flow ne more poslati e-pošte, ker je e-poštni naslov neveljaven, opravila ne bo poskusila izvesti znova. Namesto tega potek dela ni uspešen.

Polja: ID so obvezna, vendar so prazna

Dejanja v storitvi Shopify za izvajanje zahtevajo enega ali več virov, na primer izdelek, stranko ali naročilo. Če potreben vir ni na voljo, se dejanje ne more izvesti, kot je predvideno. Naročilo je na primer mogoče ustvariti v skrbniku Shopify brez stranke. Če zaženete dejanje, kot je Dodaj oznake stranke, to dejanje s to napako ne uspe.

Da preprečite to napako, pred dejanjem dodajte pogoj za preverjanje, ali vir obstaja. Če želite v prejšnjem primeru poslati interno e-pošto v istem poteku dela kot pri dejanju Dodaj oznake stranke, lahko dejanje e-pošte postavite pred korak, pri katerem bi lahko prišlo do napake, ali uporabite enega od naslednjih pristopov:

Dejanja postavite v vzporedne veje (kjer iz koraka izhajata 2 ali več vej):

Primer, ki prikazuje dve vzporedni dejanji po sprožilcu.

Dodajte pogoj pred dejanjem in preverite, ali je stranka prisotna. Preverite lahko na primer, ali velja order / customer / id is not empty and exists.

Primer, ki prikazuje pogoj, ki išče ID.

Aplikacija Flow nima dovoljenja za vaš račun za Google Sheets. Znova povežite račun.

Povezovalnik storitve Google Sheets zahteva, da svoj Google račun povežete z aplikacijo Flow, da imate dovoljenje za pisanje v preglednico. Ta napaka se lahko pojavi, ko aplikacija Flow nima dovoljenja za pisanje v preglednico, bodisi ker je bila povezava računa z aplikacijo Flow prekinjena bodisi ker ta račun nima dostopa do te preglednice.

Da to odpravite, se prepričajte, da lahko račun, ki ga uporablja povezovalnik, odpre preglednico in ima dostop za urejanje. Če je povezan napačen račun, ga lahko odklopite in povežete novega.

Koraki:

  1. Odprite obstoječi potek dela ali ustvarite novega.
  2. V potek dela dodajte dejanje.
  3. Izberite povezovalnik za Google Sheets.
  4. Kliknite Prekini povezavo in nato kliknite Poveži, da znova povežete ustrezen Google račun.
Prejeto je dejanje aplikacije Flow z neveljavnimi lastnostmi. Stranka ne sprejema trženja.

Dejanje Pošlji tržno e-pošto ne pošilja e-pošte strankam, ki se niso strinjale z njenim prejemanjem, in trajno ne uspe, če potek dela to poskuša storiti.

To težavo odpravite tako, da v potek dela dodate pogoj, ki preveri stanje naročnine strank. Pred pošiljanjem tržne e-pošte se lahko prepričate, ali so stranke privolile v njeno prejemanje. Sledite korakom v razdelku Upravljanje seznama e-poštnih naročnikov.

Manjka vir za [vrsto vira]

Ta napaka nakazuje, da je bil vir, kot je customer ali order, izbrisan, preden je lahko potek dela pridobil njegove podatke. Najpogosteje se to zgodi po koraku čakanja, lahko pa se zgodi tudi pri sprožilcu, če je vir izbrisan zelo hitro po dogodku sprožilca.

Prejmite obvestilo, ko pride do napake

Če bodo napake vplivale na poslovanje vaše trgovine, lahko nastavite obvestila za primere, ko pride do napake. Obvestila o napakah lahko ustvarite kot potek dela s sprožilcem Prišlo je do napake pri poteku dela. Obvestila o napakah so zasnovana tako, da zmanjšajo število nepotrebnih opozoril, zato boste prejeli le eno obvestilo na različico poteka dela.

Za začetek lahko uporabite eno od naslednjih predlog:

Ponovni poskusi izvajanja

V nekaterih primerih lahko pri izvajanju poteka dela pride do napake ali pa se ne izvede po pričakovanjih. Po odpravljanju težav in popravilu napak v povezanem poteku dela lahko pretekla izvajanja ročno znova zaženete, da retroaktivno popravite rezultate preteklih izvajanj. Več informacij o ponovnih poskusih izvajanja potekov dela.

Izvajanje (omejena pogostost)

V nekaterih primerih lahko en ali več potekov dela porabi preveč virov. Da bi preprečili težave, aplikacija Shopify Flow namerno omeji izvajanje potekov dela v vaši trgovini, kar lahko povzroči zamude in napake v sistemu zaradi poteka časa. To lahko popravite s ponovnim pisanjem neučinkovitih potekov dela, običajno tako, da odpravite napako v sistemu, zaradi katere potek ni deloval po pričakovanjih.

Izvajanje traja predolgo

To sporočilo pomeni, da izvajanje poteka dela traja zelo dolgo. To običajno povzroči uporaba velike količine podatkov v poteku dela, katerih pridobivanje aplikaciji Shopify Flow vzame veliko časa.

Te primere običajno povzročijo globoke poti zahtev, ki gredo skozi več seznamov elementov (na primer zahtevanje vseh metapolj za vse izdelke v vseh zbirkah, katerih del je izdelek):

Primer dolgotrajnega poteka dela.

To je pogosto povezano tudi s potekom časa koraka sprožilca v poteku dela.

Poteke dela, ki se izvajajo v zanki skozi vsa metapolja, je pogosto mogoče izboljšati z uporabo zgolj določenega metapolja. Dostopanje do več ugnezdenih seznamov (na primer vseh izdelkov v vseh zbirkah za izdelek) ali izjemno velikih seznamov (na primer definicij metapolj, ki vsebujejo vsa metapolja za vse objekte) je bilo morda izvedeno nenamerno; izbira pravilnega polja (posamezen izdelek ali posamezno metapolje na objektu) pa lahko znatno izboljša učinkovitost. V drugih primerih lahko uporaba dejanja »Pridobi podatke o izdelku/naročilu/stranki« (Get Product/Order/Customer Data) s filtrom poizvedbe bistveno zmanjša število uporabljenih objektov, pri čemer pa še vedno ohrani dostop do ustreznih.

Obdelava prevelike količine podatkov

To sporočilo pomeni, da pri izvajanju poteka dela nastaja velika količina podatkov. To običajno povzročijo zapleteni pogoji, ki preverjajo več polj, po navadi zaradi preverjanja polj na več ravneh seznamov.

Pogoj, kot je na primer »Za vsaj eno oznako pri tej stranki, za vsaj eno postavko naročila, za vsaj eno oznako pri postavki«, lahko povzroči izvedbo številnih preverjanj in ustvarjanje velike količine podatkov za prikaz rezultatov teh preverjanj:

Primer poteka dela, ki poskuša obdelati preveč podatkov.

Samodejni ponovni poskusi niso uspeli

To sporočilo pomeni, da izvajanja poteka dela večkrat zaporedoma ne uspejo zaradi začasne težave in da niso pogosto uspešna niti ob naslednjih poskusih. Do tega pogosto pride, ko se vmesnik Admin API platforme Shopify ali aplikacija partnerja sooča z velikim številom zahtev.