Jūsų „Shopify Flow“ darbo eigų optimizavimas
Kurdami darbo eigą norite užtikrinti, kad ji veiktų kuo efektyviau. Šiame dokumente aprašomi scenarijai, dėl kurių Jūsų darbo eigos gali būti apribotos arba viršyti API limitus, ir pateikiami patarimai, kaip išspręsti ar apeiti šias problemas.
Šiame puslapyje
Dažniausios veikimo problemos
Šiame skyriuje aprašomi įprasti scenarijai, galintys sukelti veikimo problemų Jūsų darbo eigose. Vienu metu gali pasitaikyti daugiau nei vienas scenarijus, o tai padidina tikimybę, kad susidursite su veikimo problemomis. Dėl klaidų, susijusių su rengyklės konfigūracija ar greičio apribojimu, naudokite problemų sprendimo vadovą.
Didelės apimties paleidikliai
Didelės apimties paleidikliai yra tie, kurių pagrindinis įvykis vyksta dažnai. Pavyzdžiui, paleidiklis Pasikeitė produkto varianto atsargų kiekis yra paleidžiamas po kiekvieno atsargų pasikeitimo parduotuvėje. Paleidiklio apimtis veikia kaip bet kurios Jūsų darbo eigos problemos daugiklis. Pavyzdžiui, jei darbo eiga nuskaito 100 produktų ir yra paleidžiama 1 000 kartų per minutę, ji nuskaitys 100 000 produktų per minutę. Tai gali sukelti veikimo problemų.
Sprendimas: optimizuokite savo darbo eigas naudodami mažiau duomenų arba naudokite laukimo veiksmus, kad padalytumėte darbo eigą.
Daug darbo eigų, naudojančių tą patį paleidiklį
Naudodami „Shopify Flow“, galite sukurti daugiau nei vieną darbo eigą, naudojančią tą patį paleidiklį. Šios darbo eigos veiks lygiagrečiai viena kitai, kai įvyks įvykis. Tai gali sukelti problemų, jei paleisite per daug darbo eigų, naudojančių tą patį paleidiklį, dėl šių priežasčių:
- Darbo eigos gali konfliktuoti viena su kita.
- Darbo eigos bando nuskaityti duomenis ir kreiptis į API tuo pačiu metu, o Jūsų parduotuvės galimybes vienu metu apdoroti užklausas riboja „Shopify“ API limitai.
Sprendimas: sujunkite darbo eigas, kurios naudoja tą patį paleidiklį, į vieną darbo eigą. Tai taip pat leidžia Jums valdyti, kada kiekviena iš jų vykdoma, kad jos nekonfliktuotų viena su kita. Darbo eigų sujungimas ypač naudingas, jei darbo eigos nenuskaito daug duomenų arba jei nuskaitomi duomenys yra tie patys. Jei darbo eigos nuskaito daug skirtingų duomenų, galite pastebėti, kad jas laikant atskirai pasiekiamas geresnis veikimas.
Sąrašų arba netinkamų duomenų naudojimas
Kurdami darbo eigą galite naudoti objektų, pvz., produktų ar užsakymų, sąrašą. Jei naudosite objektų sąrašą, „Shopify Flow“ nuskaitys visus sąraše esančius objektus. Tai gali būti problema, kai sąraše yra daug duomenų.
Kita dažna problema – netyčia pasirenkami netinkami duomenys. Pavyzdžiui, norėdami patikrinti produkto duomenis užsakyme, galėjote pasirinkti užsakymas / leidinys / produktai / žymos vietoj užsakymas / prekių pozicijos / produktas / žymos. Pirmasis rezultatas paprastai yra neteisingas, nes jis nuskaito visus leidinio produktus, kai ketinama patikrinti produktus užsakyme. Tokio didelio sąrašo pasirinkimas gali sukelti veikimo problemų, o pasirinkus netinkamą sąrašą Jūsų automatizavimas gali veikti netinkamai.
Sprendimas: atidžiai pasirinkite reikiamus duomenis ir venkite naudoti sąrašus, kai jų nereikia. Išbandykite savo darbo eigas, kad įsitikintumėte, jog jos veikia taip, kaip tikitės.
Metalaukai
Atskirų metalaukų ar metaobjektų duomenų nuskaitymas neturėtų sukelti veikimo problemų. Tačiau dažna problema yra sąrašo metalaukai pasirinkimas ir visų ištekliaus metalaukų peržiūra cikle. Jei lauke reikšmė yra daug duomenų, pavyzdžiui, kai naudojami HTML objektai, gali būti apdorojama daug duomenų ir tai gali sukelti veikimo problemų.
Sprendimas: naudokite objektą metalaukas, o ne metalaukai.
Per dažnas veiksmų „Gauti duomenis“ naudojimas
Darbo eigos, kuriose naudojamas veiksmas Gauti duomenis, pvz., Gauti užsakymo duomenis, yra sukurtos taip, kad grąžintų ne daugiau kaip 100 objektų vienai darbo eigai iš veiksmų Gauti duomenis. Viršijus 100 objektų limitą, gali kilti veikimo problemų.
Sprendimas: paleiskite darbo eigą dažniau, kad Jūsų užklausai nereikėtų grąžinti daugiau nei 100 rezultatų. Naudokite tą patį veiksmą Gauti duomenis pakartotinai, užuot teikę pasikartojančias užklausas.
Veiksmuose „Gauti duomenis“ nėra užklausų filtrų
Veiksmai Gauti duomenis kreipiasi į „Shopify“ API. Jei užklausos nėra, API grąžins visus išteklius arba nė vieno. Tai gali sukelti veikimo problemų, taip pat gali lemti, kad Jūsų parduotuvėje bus atlikti netinkami veiksmai, kai vėliau darbo eigoje naudosite grąžintus duomenis.
Sprendimas: visada įtraukite užklausų filtrus į veiksmus Gauti duomenis.
Neteisingi užklausų filtrai veiksmuose „Gauti duomenis“
Veiksmų Gauti duomenis užklausos palaiko ribotą užklausų filtrų rinkinį, specifinę sintaksę ir specifinį reikšmių, kurias galima naudoti filtruose, rinkinį. Įvedus neteisingą filtrą, filtro reikšmę ar sintaksę, visa užklausa gali būti ignoruojama, o tai gali sukelti panašių problemų kaip ir tada, kai nėra užklausos filtro.
Sprendimas: norėdami rasti galimų užklausų filtrų sąrašą, naudokite veiksmo dokumentaciją programėlėje „Shopify Flow“. Visada išbandykite savo užklausų filtrus, kad įsitikintumėte, jog jie grąžina laukiamus duomenis. Galite naudoti veiksmą „Registruoti išvestį“ programėlėje „Shopify Flow“, kad peržiūrėtumėte grąžintus duomenis, arba galite tiesiogiai kreiptis į „Shopify Admin“ API per API klientą, pvz., „Postman“, arba per programėlę GraphiQL.
Papildomi dažniausių veikimo problemų sprendimai
Laukimo veiksmų naudojimas duomenų nuskaitymui atidėti
Laukimo veiksmai leidžia Jums pristabdyti darbo eigą nurodytam laikui, tačiau laukimo veiksmai taip pat gali būti naudojami Jūsų darbo eigoms optimizuoti. Kiekvienas laukimo veiksmas efektyviai padalija Jūsų darbo eigos vykdymą į atskiras fazes. Kai darbo eiga paleidžiama, ji automatiškai nuskaito duomenis, reikalingus iki pirmojo laukimo veiksmo (ir vėl nuskaito duomenis po laukimo veiksmo likusiai darbo eigai).
Jei darbo eiga naudoja didelės apimties paleidiklį ir nuskaito daug duomenų, bet veiksmus atliks tik retkarčiais, galite bet kokius sudėtingus duomenis ar logiką įdėti po sąlygos ir laukimo veiksmo poros. Pavyzdžiui:
- Paleidiklis: pasikeitė produkto varianto atsargų kiekis.
- Sąlyga: patikrinkite, ar produktas yra kolekcijoje.
- Jei tenkinama, veiksmas: laukti 2 sekundes.
- Veiksmas: siųsti el. laišką klientui (su daug duomenų).
Šiame pavyzdyje duomenys, reikalingi 4 veiksmui, yra užklausiami tik pasibaigus laukimo veiksmui. Jei sąlyga paprastai netenkinama, tai reiškia, kad darbo eiga veiks greičiau ir efektyviau.
Ko neoptimizuoti
Tų pačių duomenų naudojimas keliuose veiksmuose
Kai naudojate tą patį lauką keliuose veiksmuose, „Shopify Flow“ analizuoja tų laukų naudojimą ir nuskaito tuos duomenis tik vieną kartą. Tai reiškia, kad galite naudoti duomenis tiek kartų, kiek norite, nesijaudindami dėl veikimo.