Depanarea erorilor în Shopify Flow

Shopify Flow vă ajută să automatizați sarcini și procese în magazinul dvs., dar este posibil să întâmpinați erori sau să atingeți anumite limite la crearea sau editarea fluxurilor de lucru. Această pagină explică problemele frecvente cu care vă puteți confrunta, cum ar fi limitele fluxului de lucru și erorile de date, și oferă îndrumări despre cum să le rezolvați. Înțelegerea acestor erori vă poate ajuta să depanați problemele și să mențineți buna funcționare a fluxurilor de lucru.

Erori la crearea fluxurilor de lucru

La crearea unui flux de lucru, este posibil să întâmpinați erori care vă împiedică să adăugați un flux de lucru nou. Iată câteva dintre erorile pe care le-ați putea întâmpina:

Numărul de fluxuri de lucru a fost depășit

La crearea unui flux de lucru nou, este posibil să întâmpinați o eroare care spune: Ați atins limita maximă de 1.000 de fluxuri de lucru permise. Pentru a continua, ștergeți fluxurile de lucru neutilizate și încercați din nou.

Flow limitează numărul de fluxuri de lucru pe care le poate avea un magazin la 1.000. Acest număr include fluxurile de lucru active și inactive. Dacă atingeți această limită și doriți să creați un flux de lucru nou, atunci ștergeți fluxurile de lucru neutilizate sau inactive.

Dacă magazinul dumneavoastră avea peste 1.000 de fluxuri de lucru înainte de stabilirea acestei limite, atunci acesta poate continua să funcționeze cu peste 1.000 de fluxuri de lucru. Cu toate acestea, pentru a crea fluxuri de lucru noi, trebuie să vă încadrați în limită.

Este posibil să întâmpinați această eroare atunci când efectuați o serie de acțiuni în aplicația Flow:

  • Crearea unui flux de lucru nou
  • Duplicarea unui flux de lucru
  • Importarea unui flux de lucru
  • Instalarea unui șablon
Prea multe fluxuri de lucru pentru același declanșator

La activarea unui flux de lucru, este posibil să vi se afișeze un avertisment care indică faptul că magazinul are peste 10 fluxuri de lucru active care folosesc același declanșator.

Faptul de a avea mai multe fluxuri de lucru care împart același declanșator poate cauza probleme privind performanțele, deoarece, de fiecare dată când are loc evenimentul declanșator, Flow trebuie să proceseze toate fluxurile de lucru asociate. Această propagare poate duce la timpi mai lungi de execuție și la un consum crescut de resurse.

Pentru a reduce numărul de fluxuri de lucru asociate unui singur declanșator, luați în considerare următoarele abordări:

  • Combinați fluxurile de lucru care folosesc același declanșator într-un singur flux de lucru cu mai multe ramuri și condiții.
  • Dezactivați sau ștergeți fluxurile de lucru care nu mai sunt necesare.
  • Analizați dacă unele fluxuri de lucru ar putea folosi, în schimb, un declanșator mai specific.

Erori la editarea fluxurilor de lucru

Atunci când editați un flux de lucru, este posibil să întâmpinați erori care vă împiedică să îl salvați. Următoarele sunt erori comune pe care le puteți întâmpina la editarea unui flux de lucru:

Date negăsite

La adăugarea unei acțiuni noi la un flux de lucru, este posibil să întâmpinați o eroare care spune Date negăsite:

Eroare de tip Date negăsite

Această eroare apare deoarece multe acțiuni, inclusiv Adăugare etichete de produs, necesită o resursă Shopify, cum ar fi un produs. Dacă resursa respectivă nu este disponibilă, acțiunea nu poate fi executată. Adesea, fluxurile de lucru pot conține date similare cu cele necesare, fără a furniza însă exact ceea ce este necesar.

Secțiunile următoare descriu scenariile comune care pot cauza această eroare și modul în care le puteți rezolva.

Problemă 1: Acțiunea „Preluare date” a furnizat o listă, deși era necesar un singur articol

Adesea, un flux de lucru furnizează o listă de resurse Shopify, dar acțiunea permite o singură resursă. De exemplu, fluxul de lucru furnizează o listă de produse prin acțiunea Preluare date produs, dar acțiunea Adăugare etichete de produs necesită un singur produs.

Pentru a rezolva această eroare, puteți adăuga o acțiune Pentru fiecare pentru a parcurge lista în buclă și a apela acțiunea pentru fiecare articol din listă. Acest exemplu ilustrează atât eroarea, cât și soluția folosind acțiunea Pentru fiecare:

Eroare de tip Date negăsite

Problemă 2: Declanșatorul a furnizat o listă, deși era necesar un singur articol

O eroare similară poate apărea atunci când o acțiune necesită o singură resursă, dar declanșatorul furnizează o listă. De exemplu, acțiunea Marcare comandă de onorare ca onorată necesită o Comandă de onorare, dar declanșatorul provine de la o Comandă, care furnizează o listă de comenzi de onorare.

Pentru a rezolva această eroare, la fel ca în cazul Problemei 1, puteți adăuga o acțiune Pentru fiecare pentru a parcurge lista în buclă și a apela acțiunea pentru fiecare articol din listă:

Soluție pentru comenzile de onorare

Alternativ, puteți utiliza un alt declanșator care furnizează resursa necesară. De exemplu, în loc să utilizați declanșatorul Comandă creată, puteți utiliza declanșatorul Comandă de onorare gata de onorare, care furnizează o singură comandă de onorare.

Exemplu de declanșator Comandă de onorare gata de onorare

Problemă 3: Declanșatorul „Oră programată” nu a furnizat date

Declanșatorul Oră programată nu furnizează date despre resursele Shopify. Dacă încercați să conectați acțiuni care necesită resurse Shopify după declanșator, veți întâmpina eroarea.

Pentru a rezolva această eroare, adăugați o acțiune, cum ar fi Preluare date produs, care furnizează datele necesare. După cum s-a menționat în Problema 1, trebuie să adăugați și o acțiune Pentru fiecare pentru a parcurge în buclă orice listă returnată de o acțiune care preia date.

Exemplu de produs obligatoriu lipsă

Problemă 4: Un declanșator de aplicație nu a furnizat date

Similar problemei 3, unele declanșatoare create de aplicații nu furnizează datele necesare despre resursele Shopify. De exemplu, un declanșator „Recenzie creată” poate furniza o adresă de e-mail, dar nu și un obiect de tip Client, care este necesar pentru multe acțiuni, cum ar fi Adăugare etichete client.

Pentru a rezolva această eroare, este posibil să puteți utiliza o acțiune „Preluare date” pentru a prelua resursa Shopify de care aveți nevoie. De exemplu, puteți utiliza Preluare date client pentru a obține obiectul de tip client de la adresa de e-mail furnizată de declanșator. La fel ca în cazul celorlalte probleme, trebuie să adăugați și o acțiune Pentru fiecare pentru a parcurge în buclă orice listă returnată de o acțiune care preia date.

Dacă acțiunea „Preluare date” nu este o opțiune, atunci poate fi necesar să contactați dezvoltatorul de aplicații pentru a-l întreba dacă poate modifica declanșatorul pentru a furniza datele necesare.

Numărul de pași de așteptare a fost depășit

La adăugarea de pași de așteptare noi la fluxul de lucru, este posibil să întâmpinați o eroare care spune: Fluxurile de lucru trebuie să aibă cel mult 40 de pași de așteptare.

Flow limitează la 40 numărul de pași de așteptare permiși într-un flux de lucru. Dacă întâmpinați această eroare, înseamnă că ați depășit această limită. Pentru a rezolva problema, eliminați pași de așteptare din altă parte a fluxului de lucru.

Dacă aveați deja fluxuri de lucru care conțineau peste 40 de pași de așteptare înainte de introducerea acestei limite, atunci fluxul de lucru continuă să funcționeze conform așteptărilor. Cu toate acestea, pentru a adăuga pași de așteptare suplimentari, trebuie mai întâi să eliminați din cei existenți pentru a vă încadra în limită.

În plus, timpul total de așteptare pentru toți pașii de așteptare nu poate depăși 90 de zile.

Limită de dimensiune a valorii câmpului de configurare depășită

Atunci când editați valoarea câmpurilor de configurare din condițiile fluxului de lucru, este posibil să întâmpinați o eroare care spune: Valoarea câmpului de configurare trebuie să fie sub 50 kB.

Flow limitează dimensiunea valorii unui câmp de configurare la 50 kB de date. Atunci când întâmpinați această eroare, ați atins sau ați depășit limita. Pentru a rezolva problema, scurtați lungimea datelor pe care le adăugați în câmpul respectiv.

Dacă aveți deja câmpuri de configurare cu o valoare de 50 kB sau mai mult, atunci fluxurile dumneavoastră de lucru continuă să se execute conform așteptărilor. Cu toate acestea, pentru a aduce modificări fluxului de lucru, trebuie să revizuiți valoarea care cauzează eroarea.

Erori la execuția unui flux de lucru

Atunci când o execuție a unui flux de lucru întâlnește o eroare, execuția fluxului de lucru este marcată ca eșuată. Mesajul de eroare este afișat în detaliile execuției fluxului de lucru. Mai jos sunt prezentate erorile comune pe care le puteți întâlni atunci când o execuție a unui flux de lucru eșuează:

  • Erorile tranzitorii sunt erori temporare care apar atunci când Flow nu poate finaliza o sarcină. Aceste erori sunt reîncercate până când reușesc sau ating o limită de timp.
  • Erorile permanente sunt erori care apar atunci când Flow nu poate finaliza o sarcină, iar sarcina nu poate fi reîncercată.

Erori tranzitorii

Erorile tranzitorii sunt erori temporare care apar atunci când Flow nu poate finaliza o sarcină. Aceste erori sunt reîncercate până când reușesc sau ating o limită de timp. De exemplu, dacă Flow nu poate contacta un partener la executarea unei acțiuni de conector, Flow reîncearcă sarcina de mai multe ori înainte de a renunța.

Reîncercările sunt eșalonate, iar întârzierea dintre fiecare încercare ulterioară crește față de cea anterioară. De obicei, atunci când un flux de lucru întâmpină erori tranzitorii, acesta rămâne în starea în curs de execuție pentru o perioadă lungă de timp, pe măsură ce reîncearcă sarcinile.

Atunci când o sarcină este reîncercată cu succes, fluxul de lucru continuă. Dacă o sarcină reîncercată întâmpină o eroare permanentă, atunci fluxul de lucru eșuează. Fiecare secțiune a fluxului de lucru are o limită superioară de execuție combinată de 36 de ore. Dacă un pas cu erori tranzitorii nu reușește înainte de atingerea acestei limite, atunci fluxul de lucru eșuează.

Fluxurile de lucru cu pași de așteptare sunt împărțite în secțiuni, ceea ce afectează modul în care sunt calculate limitele de timp într-un flux de lucru. Fiecare secțiune este un grup de sarcini care sunt executate împreună și fiecare are propria limită de timp de 36 de ore. De exemplu, dacă un flux de lucru are un pas de așteptare de o oră, atunci sarcinile dinaintea pasului de așteptare vor fi executate împreună într-o secțiune, iar sarcinile de după pasul de așteptare vor fi executate împreună în altă secțiune. Dacă un flux de lucru are mai mulți pași de așteptare, atunci sarcinile dintre fiecare pas de așteptare vor fi executate împreună într-o secțiune. Fluxurile de lucru fără un pas de așteptare sunt considerate o singură secțiune.

Erorile tranzitorii ocazionale sunt frecvente. Cu toate acestea, dacă aveți un flux de lucru care întâlnește în mod constant aceeași eroare tranzitorie în mai multe execuții, este posibil ca fluxul de lucru să necesite o reconfigurare.

Expirarea timpului pentru pas

Erorile de tip Expirarea timpului pentru pas apar de obicei atunci când o sarcină din fluxul de lucru încearcă să interogheze prea multe date într-o singură secțiune. Această eroare apare adesea în fluxurile de lucru care parcurg liste în buclă, în special liste imbricate care sunt prea mari pentru a fi procesate rapid.

Atunci când apare această eroare, declanșatorul sau pasul de așteptare este afișat ca în curs de reîncercare.

Pentru a rezolva această problemă, revizuiți condițiile care accesează liste și liste imbricate pentru a confirma că sunt configurate corect. O problemă frecventă este o condiție care verifică toate produsele dintr-un magazin, în loc de doar produsele dintr-o comandă.

Stare 5XX

Majoritatea acțiunilor Flow implică efectuarea de apeluri HTTP. Ocazional, problemele de rețea sau de altă natură ale serverului pot face ca apelurile HTTP să eșueze și să returneze un cod de eroare între 500 și 599. O singură apariție a acestei erori nu reprezintă o problemă, dar cazurile repetate ar putea indica o problemă cu serverul care gestionează sarcina, mai degrabă decât cu modul în care este configurat pasul.

Acest tip de eroare este cel mai frecvent afișat la acțiunea Trimitere solicitare HTTP, dar poate apărea la majoritatea sarcinilor.

GraphQL limitat

Volumul total de lucru finalizat de un flux de lucru este limitat de limitele de apeluri API, care sunt determinate în parte de abonamentul dumneavoastră. De obicei, aceste limite nu sunt atinse decât dacă un flux de lucru este foarte complex sau conține o eroare de proiectare neintenționată.

Următoarele exemple descriu situații care pot duce la această eroare:

  • Liquid sau condițiile din fluxul de lucru parcurg în buclă o listă cu cantități mari de date, cum ar fi verificarea valorilor metacâmpurilor care conțin HTML.
  • Liquid sau condițiile din fluxul de lucru parcurg în buclă o listă mare, cum ar fi parcurgerea în buclă a shop.orders într-un magazin mare.
  • Un flux de lucru are ca rezultat o buclă infinită, în care fluxul de lucru continuă să creeze noi execuții. De exemplu, acest lucru se poate întâmpla dacă fluxul de lucru utilizează declanșatorul Etichete de client adăugate și include acțiunea Adăugare etichete de client.

Dacă limita este atinsă, primiți o eroare de tipul GraphQL limitat. Această eroare poate afecta alte fluxuri de lucru atunci când acestea încearcă să se execute, deci rezolvați imediat această eroare dacă apare.

Erori permanente

Erorile permanente sunt erori care apar atunci când Flow nu poate finaliza o sarcină, iar sarcina nu poate fi reîncercată. De exemplu, dacă Flow nu poate trimite un e-mail deoarece adresa de e-mail este invalidă, sarcina nu este reîncercată. În schimb, fluxul de lucru eșuează.

Câmpurile: id sunt obligatorii, dar sunt goale

Acțiunile Shopify necesită una sau mai multe resurse, cum ar fi un produs, un client sau o comandă, pentru a se executa. Dacă resursa necesară este indisponibilă, acțiunea nu se poate executa conform intenției. De exemplu, o comandă poate fi creată în panoul de administrare Shopify fără un client. Dacă executați o acțiune, cum ar fi Adăugare etichete de client, acțiunea eșuează cu această eroare.

Pentru a preveni această eroare, adăugați o condiție înaintea acțiunii pentru a verifica dacă resursa există. În exemplul anterior, dacă doriți să trimiteți un e-mail intern în același flux de lucru ca Adăugare etichete de client, puteți fie să plasați acțiunea de e-mail înaintea pasului care ar putea eșua, fie să utilizați una dintre următoarele abordări:

Plasați acțiunile în ramuri paralele (în care 2 sau mai multe ramuri pornesc dintr-un pas):

Exemplu care arată două acțiuni în paralel după un declanșator.

Adăugați o condiție înaintea acțiunii pentru a verifica dacă clientul este prezent. De exemplu, puteți verifica dacă comanda / clientul / id-ul nu este gol și există.

Exemplu care arată o condiție care caută un ID.

Flow nu are permisiune pentru contul dvs. Foi de calcul Google. Vă rugăm să vă reconectați contul.

Conectorul Foi de calcul Google necesită să vă conectați contul Google la Flow pentru a avea permisiunea de a scrie în foaia de calcul. Această eroare poate apărea atunci când Flow nu are permisiunea de a scrie într-o foaie de calcul, fie pentru că contul a fost deconectat de la Flow, fie pentru că acel cont nu poate accesa foaia de calcul respectivă.

Pentru a rezolva această problemă, asigurați-vă că contul utilizat pentru conector poate deschide foaia de calcul și are acces de editare. Dacă este conectat contul greșit, îl puteți deconecta și conecta unul nou.

Pași:

  1. Deschideți un flux de lucru existent sau creați un flux de lucru nou.
  2. Adăugați o acțiune la fluxul de lucru.
  3. Selectați conectorul Foi de calcul Google.
  4. Faceți clic pe Deconectare, apoi faceți clic pe Conectare pentru a reconecta contul Google corect.
Acțiune Flow primită cu proprietăți nevalide. Clientul nu acceptă marketingul.

Acțiunea Trimitere e-mail de marketing nu trimite e-mailuri clienților care nu au fost de acord să le primească și eșuează permanent dacă fluxul de lucru încearcă să facă acest lucru.

Pentru a rezolva această problemă, adăugați o condiție în fluxul de lucru care verifică starea abonamentului clienților. Vă puteți asigura că clienții au fost de acord să primească e-mailuri de marketing înainte de a le trimite. Urmați pașii din Gestionarea listei de abonați la e-mail.

Resursă lipsă pentru [tip de resursă]

Această eroare indică faptul că o resursă, cum ar fi clientul sau comanda, a fost ștearsă înainte ca fluxul de lucru să-i poată prelua datele. Cel mai adesea, acest lucru se întâmplă după un pas de așteptare, dar este posibil să se întâmple și la declanșator, dacă resursa este ștearsă foarte repede după ce are loc evenimentul declanșator.

Primiți notificări atunci când apare o eroare

Dacă apariția erorilor vă va afecta operațiunile magazinului, atunci puteți configura notificări pentru momentul în care apare o eroare. Notificările de eroare pot fi create ca un flux de lucru folosind declanșatorul A apărut o eroare în fluxul de lucru. Notificările de eroare sunt concepute pentru a reduce numărul de alerte, așadar veți primi o singură notificare per versiune de flux de lucru.

Pentru a începe, puteți utiliza unul dintre următoarele șabloane:

Reîncercarea execuțiilor

În unele cazuri, o execuție a unui flux de lucru poate întâmpina o eroare sau poate să nu se execute conform intenției. După depanarea și remedierea problemelor din fluxul de lucru aferent, execuțiile anterioare pot fi reîncercate manual pentru a corecta retroactiv rezultatul acestora. Aflați mai multe despre reîncercarea execuțiilor fluxului de lucru.

În execuție (frecvență limitată)

În unele cazuri, unul sau mai multe fluxuri de lucru pot utiliza prea multe resurse și, pentru a preveni apariția problemelor, Flow va limita intenționat execuțiile din magazinul dvs., ceea ce ar putea cauza întârzieri și erori de expirare a timpului. Acest lucru poate fi remediat prin rescrierea fluxurilor de lucru ineficiente, de obicei pentru a remedia un bug din cauza căruia acestea nu funcționau conform intenției.

Execuție prea îndelungată

Acest mesaj indică faptul că execuțiile pentru un flux de lucru durează foarte mult. Acest lucru este cauzat de obicei de utilizarea unui volum mare de date în cadrul unui flux de lucru, a căror preluare de către Flow necesită mult timp.

Aceste cazuri sunt cauzate de obicei de căi de solicitare profunde, care parcurg mai multe liste de articole (cum ar fi solicitarea tuturor metacâmpurilor pentru toate produsele din toate colecțiile din care face parte un produs):

Exemplu de flux de lucru cu execuție îndelungată.

Acest lucru este, de asemenea, adesea corelat cu expirarea etapei de declanșare a unui flux de lucru.

Fluxurile de lucru care iterează prin toate metacâmpurile pot fi adesea îmbunătățite prin utilizarea unui singur metacâmp specific. Este posibil ca accesarea mai multor liste imbricate (cum ar fi toate produsele din toate colecțiile pentru un produs) sau a listelor deosebit de mari (cum ar fi definițiile de metacâmp, care conțin toate metacâmpurile pentru toate obiectele) să fi fost făcută neintenționat, iar selectarea câmpului corect (un singur produs sau un singur metacâmp al unui obiect) poate îmbunătăți semnificativ eficiența. În alte cazuri, utilizarea unei acțiuni de tip „Preluare date despre produs/comandă/client” cu un filtru de interogare poate reduce semnificativ numărul de obiecte utilizate, permițând în continuare accesarea celor relevante.

Procesarea unui volum prea mare de date

Acest mesaj indică faptul că execuțiile unui flux de lucru generează un volum mare de date. Acest lucru este cauzat de obicei de existența unor condiții complexe care verifică multe câmpuri, de obicei din cauza verificării câmpurilor pe mai multe niveluri de liste.

De exemplu, o condiție precum „Pentru cel puțin o etichetă a acestui client, pentru cel puțin un rând din comandă, pentru cel puțin o etichetă a rândului” poate duce la efectuarea multor verificări și la generarea unei cantități mari de date pentru a afișa rezultatele acelor verificări:

Exemplu de flux de lucru care încearcă să proceseze prea multe date.

Eșuarea reîncercărilor automate

Acest mesaj indică faptul că execuțiile unui flux de lucru eșuează în mod repetat din cauza unei probleme temporare, dar că nu reușesc frecvent la reîncercările ulterioare. Acest lucru se întâmplă adesea atunci când Admin API-ul Shopify sau aplicația unui partener întâmpină un volum mare de solicitări.