Rješavanje problema s pogreškama u aplikaciji Shopify Flow

Shopify Flow pomaže vam u automatizaciji zadataka i procesa u trgovini, no tijekom izrade ili uređivanja tijekova rada možete naići na pogreške ili dosegnuti određena ograničenja. Na ovoj se stranici objašnjavaju uobičajeni problemi s kojima se možete susresti, poput ograničenja tijekova rada i pogrešaka u podacima, te se pružaju smjernice za njihovo rješavanje. Razumijevanje ovih pogrešaka može vam pomoći u rješavanju problema i neometanom funkcioniranju vaših tijekova rada.

Pogreške pri izradi tijekova rada

Pri izradi tijeka rada možete naići na pogreške koje vas sprečavaju u dodavanju novog tijeka rada. Ovo su neke od pogrešaka na koje možete naići:

Premašen je broj tijekova rada

Pri izradi novog tijeka rada možete naići na pogrešku koja glasi Dosegli ste maksimalno ograničenje od 1000 dopuštenih tijekova rada. Da biste nastavili, izbrišite nekorištene tijekove rada i pokušajte ponovno.

Flow ograničava broj tijekova rada koje trgovina može imati na najviše 1000. To uključuje aktivne i neaktivne tijekove rada. Ako dosegnete to ograničenje, a želite izraditi novi tijek rada, izbrišite nekorištenene ili neaktivne tijekove rada.

Ako je vaša trgovina imala više od 1000 tijekova rada prije postavljanja ovog ograničenja, može nastaviti s radom s više od 1000 tijekova rada. Međutim, da biste izradili nove tijekove rada, morate biti ispod tog ograničenja.

Ovu pogrešku možete doživjeti prilikom izvođenja različitih radnji u aplikaciji Flow:

  • Izrada novog tijeka rada
  • Dupliciranje tijeka rada
  • Uvoz tijeka rada
  • Instalacija predloška
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.

Pogreške pri uređivanju tijekova rada

Tijekom uređivanja tijeka rada možete naići na pogreške koje onemogućuju njegovo spremanje. U nastavku su navedene uobičajene pogreške na koje možete naići pri uređivanju tijeka rada:

Podaci nisu pronađeni

Pri dodavanju nove radnje u tijek rada možete naići na pogrešku koja glasi Podaci nisu pronađeni:

Pogreška zbog nepronađenih podataka

Ova se pogreška javlja jer mnoge radnje, uključujući Dodaj oznake proizvoda, zahtijevaju resurs platforme Shopify, kao što je proizvod. Ako taj resurs nije dostupan, radnja se ne može izvršiti. Tijekovi rada često mogu sadržavati podatke koji su slični traženim podacima, ali zapravo ne pružaju ono što je potrebno.

U odjeljcima u nastavku opisani su uobičajeni scenariji koji mogu uzrokovati tu pogrešku i načini njezina rješavanja.

Problem 1: Radnja Dohvati podatke pružila je popis kada je bila potrebna samo jedna stavka

Tijek rada često pruža popis resursa platforme Shopify, ali radnja dopušta samo jedan resurs. Na primjer, tijek rada putem radnje Dohvati podatke o proizvodu pruža popis proizvoda, ali radnja Dodaj oznake proizvoda zahtijeva jedan proizvod.

Da biste riješili tu pogrešku, možete dodati radnju Za svaki da biste prošli kroz popis i pozvali radnju za svaku stavku na popisu. Ovaj primjer prikazuje i pogrešku i rješenje pomoću radnje Za svaki:

Pogreška zbog nepronađenih podataka

Problem 2: Pokretač je pružio popis kada je bila potrebna samo jedna stavka

Slična se pogreška može pojaviti kada radnja zahtijeva jedan resurs, a pokretač pruži popis. Na primjer, radnja Označi narudžbu za ispunjenje ispunjenom zahtijeva Narudžbu za ispunjenje, ali pokretač dolazi iz Narudžbe koja pruža popis narudžbi za ispunjenje.

Da biste riješili tu pogrešku, kao i kod problema 1, možete dodati radnju Za svaki da biste prošli kroz popis i pozvali radnju za svaku stavku na popisu:

Rješenje za narudžbe za ispunjenje

Kao alternativu možete upotrijebiti drugi pokretač koji pruža potrebni resurs. Na primjer, umjesto pokretača Narudžba je izrađena, možete upotrijebiti pokretač Narudžba za ispunjenje spremna je za ispunjenje, koji pruža jednu narudžbu za ispunjenje.

Primjer pokretača „Narudžba za ispunjenje spremna je za ispunjenje”

Problem 3: Pokretač Zakazano vrijeme nije pružio nikakve podatke

Pokretač Zakazano vrijeme ne pruža podatke o resursima platforme Shopify. Ako nakon pokretača pokušate povezati radnje koje zahtijevaju resurse platforme Shopify, naići ćete na tu pogrešku.

Da biste riješili tu pogrešku, dodajte radnju kao što je Dohvati podatke o proizvodu koja pruža potrebne podatke. Kao što je napomenuto u problemu 1, morate dodati i radnju Za svaki da biste prošli kroz svaki popis koji vrati radnja za dohvaćanje podataka.

Primjer nedostatka traženog proizvoda

Problem 4: Pokretač aplikacije nije pružio nikakve podatke

Slično kao i kod problema 3, neki pokretači koje izrade aplikacije ne pružaju potrebne podatke o resursima platforme Shopify. Na primjer, pokretač „Recenzija je izrađena” može pružiti e-adresu, ali ne i objekt Korisnik, koji je potreban za mnoge radnje, kao što je Dodaj oznake korisnika.

Da biste riješili tu pogrešku, možda ćete moći upotrijebiti radnju „Dohvati podatke” za dohvaćanje potrebnog resursa platforme Shopify. Na primjer, možete upotrijebiti radnju Dohvati podatke o korisniku da biste dobili objekt korisnika iz e-adrese koju je pružio pokretač. Kao i kod ostalih problema, morate dodati i radnju Za svaki da biste prošli kroz svaki popis koji vrati radnja za dohvaćanje podataka.

Ako „Dohvati podatke” nije opcija, možda ćete morati stupiti u kontakt s razvojnim inženjerom aplikacije i pitati ga može li izmijeniti svoj pokretač da bi se osigurali potrebni podaci.

Premašen je broj koraka čekanja

Pri dodavanju novih koraka čekanja u tijek rada možete naići na pogrešku koja glasi Tijekovi rada ne smiju imati više od 40 koraka čekanja.

Flow ograničava broj dopuštenih koraka čekanja u tijeku rada na 40. Ako naiđete na tu pogrešku, premašili ste ograničenje. Da biste riješili taj problem, uklonite korake čekanja na nekom drugom mjestu u tijeku rada.

Ako ste prije uvođenja ovog ograničenja već imali tijekove rada s više od 40 koraka čekanja, vaš tijek rada nastavit će funkcionirati prema očekivanjima. Međutim, da biste dodali dodatne korake čekanja, najprije morate ukloniti postojeće kako biste ostali unutar ograničenja.

Osim toga, ukupno vrijeme čekanja u svim koracima čekanja ne smije biti dulje od 90 dana.

Premašeno je ograničenje veličine vrijednosti konfiguracijskog polja

Pri uređivanju vrijednosti konfiguracijskih polja unutar uvjeta u tijeku rada možete naići na pogrešku koja glasi Vrijednost konfiguracijskog polja mora biti manja od 50 kB.

Flow ograničava veličinu vrijednosti konfiguracijskog polja na 50 kB podataka. Ako naiđete na tu pogrešku, dosegli ste ili premašili to ograničenje. Da biste riješili taj problem, skratite podatke koje dodajete u to polje.

Ako već imate konfiguracijska polja s vrijednošću od 50 kB ili većom, vaši se tijekovi rada i dalje pokreću prema očekivanjima. Međutim, da biste unijeli izmjene u tijek rada, morate ispraviti vrijednost koja uzrokuje pogrešku.

Pogreške pri pokretanju tijeka rada

Kada pri pokretanju tijeka rada dođe do pogreške, ono se označava kao neuspješno. Poruka o pogrešci prikazuje se u pojedinostima pokretanja tijeka rada. Uobičajene pogreške na koje možete naići u slučaju neuspješnog pokretanja tijeka rada su:

  • Prolazne pogreške privremene su pogreške koje se javljaju kada aplikacija Flow ne može dovršiti zadatak. Ti se zadaci ponovno pokušavaju izvršiti dok ne uspiju ili ne dosegnu ograničenje vremena čekanja.
  • Trajne pogreške pogreške su koje se javljaju kada aplikacija Flow ne može dovršiti zadatak, a zadatak se ne može ponovno pokušati izvršiti.

Prolazne pogreške

Prolazne pogreške privremene su pogreške koje se javljaju kada aplikacija Flow ne može dovršiti zadatak. Ti se zadaci ponovno pokušavaju izvršiti dok ne uspiju ili ne dosegnu ograničenje vremena čekanja. Na primjer, ako aplikacija Flow ne može uspostaviti kontakt s partnerom pri izvršavanju radnje mehanizma za sinkronizaciju, Flow više puta ponovno pokušava izvršiti zadatak prije odustajanja.

Ponovni pokušaji su raspoređeni, pri čemu se odgoda između svakog sljedećeg pokušaja povećava u odnosu na prethodnu odgodu. Obično kada u tijeku rada dođe do prolaznih pogrešaka, on dugo ostaje u statusu u tijeku dok ponovno pokušava izvršiti zadatke.

Kada se ponovni pokušaj zadatka uspješno izvrši, tijek rada se nastavlja. Ako pri ponovnom pokušaju zadatka dođe do trajne pogreške, tijek rada bit će neuspješan. Svaki odjeljak tijeka rada ima kombinirano gornje ograničenje izvršavanja od 36 sati. Ako korak s prolaznim pogreškama ne uspije prije nego što se dosegne to ograničenje, tijek rada bit će neuspješan.

Tijekovi rada s koracima čekanja podijeljeni su u odjeljke, što utječe na to kako se izračunavaju ograničenja vremena čekanja u tijeku rada. Svaki odjeljak grupa je zadataka koji se izvršavaju zajedno i svaki ima vlastito vremensko ograničenje od 36 sati. Na primjer, ako tijek rada ima korak čekanja koji traje jedan sat, zadaci prije koraka čekanja izvršavat će se zajedno u jednom odjeljku, a zadaci nakon koraka čekanja zajedno u drugom. Ako tijek rada ima više koraka čekanja, zadaci između svakog koraka čekanja izvršavat će se zajedno u jednom odjeljku. Tijekovi rada bez koraka čekanja smatraju se jednim odjeljkom.

Povremene prolazne pogreške su uobičajene. Međutim, ako imate tijek rada koji dosljedno nailazi na istu prolaznu pogrešku tijekom više pokretanja, možda će ga trebati ponovno konfigurirati.

Vrijeme čekanja za korak je isteklo

Pogreške tipa Step timed out obično se događaju kada zadatak u tijeku rada pokuša postaviti upit za previše podataka unutar jednog odjeljka. Ta se pogreška često pojavljuje u tijekovima rada koji prolaze kroz popise u petlji, osobito ugniježđene popise koji su preveliki za brzu obradu.

Kada dođe do ove pogreške, pokretač ili korak čekanja prikazuje se sa statusom retrying.

Da biste riješili ovaj problem, pregledajte uvjete koji pristupaju popisima i ugniježđenim popisima kako biste potvrdili da su ispravno postavljeni. Čest je problem uvjet koji provjerava sve proizvode u trgovini, umjesto samo onih u narudžbi.

Status 5XX

Većina radnji aplikacije Flow uključuje upućivanje HTTP poziva. Povremeno problemi s mrežom ili drugi problemi s poslužiteljem mogu uzrokovati neuspjeh HTTP poziva i vraćanje koda pogreške između 500 i 599. Jedna pojava ove pogreške ne predstavlja problem, ali ponavljana pojavljivanja mogu ukazivati na problem s poslužiteljem koji obrađuje zadatak, a ne s konfiguracijom koraka.

Ova se vrsta pogreške najčešće prikazuje u radnji Slanje HTTP zahtjeva, ali može se dogoditi na većini zadataka.

Ograničen GraphQL

Ukupni opseg posla koji obavlja tijek rada ograničen je ograničenjima broja upita za API, koja su djelomično određena vašim planom. Ta se ograničenja obično ne dosežu, osim ako je tijek rada vrlo složen ili sadrži nenamjernu pogrešku u dizajnu.

Sljedeći primjeri opisuju situacije koje mogu dovesti do te pogreške:

  • Kôd Liquid ili uvjeti u tijeku rada prolaze u petlji kroz popis s velikim količinama podataka, poput provjere vrijednosti metapolja koja sadrže HTML.
  • Kôd Liquid ili uvjeti u tijeku rada prolaze u petlji kroz veliki popis, poput prolaska kroz shop.orders u velikoj trgovini.
  • Tijek rada rezultira beskonačnom petljom u kojoj on nastavlja stvarati nova pokretanja. Na primjer, to se može dogoditi ako tijek rada upotrebljava pokretač Dodane su oznake korisnika i uključuje radnju Dodaj oznake korisnika.

Ako se ograničenje dosegne, primit ćete pogrešku GraphQL throttled. Ta pogreška može utjecati na druge tijekove rada pri pokušaju pokretanja, stoga je odmah riješite ako se dogodi.

Trajne pogreške

Trajne pogreške su pogreške koje se javljaju kada aplikacija Flow ne može dovršiti zadatak, a zadatak se ne može ponovno pokušati izvršiti. Na primjer, ako Flow ne može poslati e-poruku jer je e-adresa nevažeća, ne pokušava ponovno izvršiti zadatak. Umjesto toga, tijek rada bit će neuspješan.

Polja: id su obavezna, ali su prazna

Za pokretanje radnji platforme Shopify potreban je jedan ili više resursa, kao što su proizvod, korisnik ili narudžba. Ako potreban resurs nije dostupan, radnja se ne može pokrenuti na predviđeni način. Na primjer, narudžba se može izraditi u administratorskom alatu za Shopify bez korisnika. Ako pokrenete radnju kao što je Dodaj oznake korisnika, radnja ne uspijeva uz ovu pogrešku.

Kako biste spriječili tu pogrešku, dodajte uvjet prije radnje kojim se provjerava postoji li resurs. U prethodnom primjeru, ako želite poslati internu e-poruku u istom tijeku rada kao i Dodaj oznake korisnika, možete postaviti radnju za e-poruku prije koraka koji bi mogao biti neuspješan ili upotrijebiti jedan od sljedećih pristupa:

Postavite radnje u paralelne grane (gdje iz jednog koraka izlaze 2 ili više grana):

Primjer koji prikazuje dvije paralelne radnje nakon pokretača.

Dodajte uvjet prije radnje kako biste provjerili je li korisnik prisutan. Na primjer, možete provjeriti uvjet order / customer / id is not empty and exists.

Primjer koji prikazuje uvjet koji traži ID.

Aplikacija Flow nema dopuštenje za vaš račun za Google Sheets. Ponovno povežite račun.

Mehanizam sinkronizacije za Google Sheets zahtijeva da povežete svoj račun za Google s aplikacijom Flow kako biste imali dopuštenje za pisanje u tablicu. Ta se pogreška može pojaviti kada Flow nema dopuštenje za pisanje u tablicu, bilo zato što je račun odspojen s aplikacije Flow ili zato što taj račun ne može pristupiti dotičnoj tablici.

Da biste to riješili, osigurajte da račun koji se upotrebljava za mehanizam sinkronizacije može otvoriti tablicu i da ima pristup za uređivanje. Ako je povezan pogrešan račun, možete ga odspojiti i povezati novi.

Koraci:

  1. Otvorite postojeći tijek rada ili izradite novi.
  2. Dodajte radnju u tijek rada.
  3. Odaberite mehanizam sinkronizacije Google Sheets.
  4. Kliknite na Odspoji, a zatim na Poveži za ponovno povezivanje ispravnog računa za Google.
Primljena je radnja aplikacije Flow s nevažećim svojstvima. Korisnik ne prihvaća marketing.

Radnja Pošalji marketinšku e-poruku ne šalje e-poruke korisnicima koji nisu pristali na njihovo primanje i trajno ne uspijeva ako to tijek rada pokuša učiniti.

Da biste to riješili, u tijek rada dodajte uvjet koji provjerava status pretplate korisnika. Prije slanja možete provjeriti jesu li korisnici pristali na primanje marketinških e-poruka. Slijedite korake u odjeljku Upravljanje popisom pretplatnika na e-poštu.

Nedostaje resurs za [vrsta resursa]

Ova pogreška ukazuje na to da je resurs, kao što je customer ili order, izbrisan prije nego što je tijek rada uspio dohvatiti njegove podatke. To se najčešće događa nakon koraka čekanja, ali može se dogoditi i na pokretaču ako se resurs izbriše vrlo brzo nakon događaja pokretača.

Primajte obavijesti kada dođe do pogreške

Ako će pojava grešaka utjecati na rad vaše trgovine, možete postaviti obavijesti za slučajeve kada dođe do greške. Obavijesti o greškama mogu se izraditi kao tijek rada pomoću pokretača Pojavila se greška u tijeku rada. Obavijesti o greškama osmišljene su tako da ograniče suvišne informacije, pa ćete primiti samo jednu obavijest po verziji tijeka rada.

Za početak možete upotrijebiti jedan od sljedećih predložaka:

Ponovni pokušaji pokretanja

U nekim slučajevima prilikom pokretanja tijeka rada može doći do greške ili se ono neće izvršiti prema planu. Nakon rješavanja problema i ispravljanja grešaka u povezanom tijeku rada, prošla se pokretanja mogu ručno ponoviti kako bi se retroaktivno ispravio njihov rezultat. Saznajte više o ponovnim pokušajima pokretanja tijeka rada.

Pokretanje (ograničena učestalost)

U nekim slučajevima jedan ili više tijekova rada mogu trošiti previše resursa, a kako bi spriječio probleme, Flow će namjerno ograničiti izvršavanje pokretanja u vašoj trgovini, što može uzrokovati kašnjenja i greške zbog isteka vremena. To se može riješiti prepravljanjem neučinkovitih tijekova rada, najčešće ispravljanjem greške zbog koje nisu funkcionirali prema planu.

Predugo pokretanje

Ova poruka ukazuje na to da izvršavanje pokretanja tijeka rada traje jako dugo. Najčešći je uzrok upotreba velike količine podataka unutar tijeka rada za čije je dohvaćanje aplikaciji Flow potrebno puno vremena.

Ti su slučajevi najčešće uzrokovani dubokim putanjama zahtjeva koje prolaze kroz više popisa stavki (kao što je traženje svih metapolja za sve proizvode u svim kolekcijama kojima proizvod pripada):

Primjer dugotrajnog tijeka rada.

To je često povezano s istekom vremena na koraku pokretača tijeka rada.

Tijekovi rada koji prolaze kroz sva metapolja često se mogu poboljšati upotrebom samo specifičnog metapolja. Pristup višestruko ugniježđenim popisima (kao što su svi proizvodi u svim kolekcijama za neki proizvod) ili izrazito velikim popisima (kao što su definicije metapolja, koje sadrže sva metapolja za sve objekte) možda je bio nenamjeran, a odabir ispravnog polja (pojedinog proizvoda ili pojedinog metapolja na objektu) može znatno poboljšati učinkovitost. U ostalim slučajevima, upotreba radnje „Dohvati podatke o proizvodu / narudžbi / korisniku” s filtrom upita može znatno smanjiti broj korištenih objekata, dok i dalje pristupa onim relevantnim.

Obrada prevelike količine podataka

Ova poruka ukazuje na to da pokretanja tijeka rada generiraju veliku količinu podataka. To najčešće uzrokuju složeni uvjeti koji provjeravaju mnoga polja, obično zbog provjere polja na više slojeva popisa.

Na primjer, uvjet kao što je „Za barem jednu oznaku na ovom korisniku, za barem jednu liniju artikla narudžbe, za barem jednu oznaku na liniji artikla” može dovesti do izvođenja mnogih provjera i generiranja velikog broja podataka za prikaz rezultata tih provjera:

Primjer tijeka rada koji pokušava obraditi previše podataka.

Neuspješni automatski ponovni pokušaji

Ova poruka ukazuje na to da pokretanja tijeka rada opetovano ne uspijevaju zbog nekog privremenog problema te da najčešće ne uspijevaju ni u kasnijim ponovnim pokušajima. Do toga često dolazi kada su Admin API platforme Shopify ili partnerova aplikacija opterećeni velikim brojem zahtjeva.