Shopify Flow -työnkulkujen optimointi
Kun luot työnkulun, haluat varmistaa, että se toimii mahdollisimman tehokkaasti. Tässä asiakirjassa esitellään skenaarioita, jotka saattavat aiheuttaa työnkulkujesi rajoittamista tai API-rajojen ylittymistä, sekä vinkkejä näiden ongelmien ratkaisemiseen tai kiertämiseen.
Tällä sivulla
Yleiset tehokkuusongelmat
Tässä osiossa esitellään yleisiä skenaarioita, jotka voivat aiheuttaa tehokkuusongelmia työnkuluissasi. On mahdollista, että useampi kuin yksi skenaario toteutuu samanaikaisesti, mikä lisää tehokkuusongelmien todennäköisyyttä. Jos kyseessä on editorin määrityksiin tai käytön rajoitukseen liittyviä virheitä, käytä vianmääritysopasta.
Suuren volyymin käynnistimet
Suuren volyymin käynnistimet ovat sellaisia, joissa taustalla oleva tapahtuma tapahtuu usein. Esimerkiksi käynnistin Tuoteversion varastomäärä muuttui suoritetaan jokaisesta kaupan varastomuutoksesta. Käynnistimen volyymi toimii kertoimena mille tahansa työnkulun ongelmalle. Jos työnkulku esimerkiksi noutaa 100 tuotetta ja se suoritetaan 1 000 kertaa minuutissa, se noutaa 100 000 tuotetta minuutissa. Tämä voi aiheuttaa tehokkuusongelmia.
Ratkaisu: Optimoi työnkulkusi käyttämällä vähemmän dataa tai jaa työnkulkusi osiin odota-vaiheiden avulla.
Useat työnkulut, jotka käyttävät samaa käynnistintä
Flow'ssa voit luoda useamman kuin yhden työnkulun, jotka käyttävät samaa käynnistintä. Nämä työnkulut suoritetaan rinnakkain, kun tapahtuma tapahtuu. Tämä voi olla ongelmallista, jos käytät liian montaa työnkulkua samalla käynnistimellä seuraavista syistä:
- Työnkulut voivat olla ristiriidassa keskenään.
- Työnkulut yrittävät noutaa dataa ja kutsua API-rajapintoja samanaikaisesti, ja kauppasi kykyä käsitellä pyyntöjä kerralla rajoittavat Shopify API -rajat.
Ratkaisu: Yhdistä samaa käynnistintä käyttävät työnkulut yhdeksi työnkuluksi. Näin voit myös hallita, milloin kukin niistä suoritetaan, jotta ne eivät ole ristiriidassa keskenään. Työnkulkujen yhdistäminen on erityisen hyödyllistä, jos työnkulut eivät nouda paljon dataa tai niiden noutama data on samaa. Jos työnkulut noutavat paljon erillistä dataa, saatat huomata, että niiden erillään pitäminen parantaa tehokkuutta.
Luetteloiden tai väärän datan käyttö
Kun luot työnkulun, saatat käyttää objektien luetteloa, kuten tuotteita tai tilauksia. Jos käytät objektien luetteloa, Flow noutaa kaikki luettelon objektit. Tämä voi olla ongelma, kun luettelo sisältää paljon dataa.
Toinen yleinen ongelma on väärän datan valitseminen vahingossa. Jos esimerkiksi haluat tarkistaa tilauksen tuotetiedot, olet saattanut valita order / publication / products / tags sen sijaan, että olisit valinnut order / line items / product / tags. Ensimmäinen tulos on yleensä virheellinen, koska se noutaa kaikki julkaisun tuotteet, kun tarkoituksena on tarkistaa tilauksen tuotteet. Niin suuren luettelon valitseminen voi aiheuttaa tehokkuusongelmia, ja väärän luettelon valitseminen voi johtaa siihen, että automaatiosi tekee väärän asian.
Ratkaisu: Valitse tarvitsemasi data huolellisesti ja vältä luetteloiden käyttöä, kun et tarvitse niitä. Testaa työnkulkusi varmistaaksesi, että ne toimivat odotetulla tavalla.
Metakentät
Yksittäisten metakenttien tai metaobjektien tietojen noutamisen ei pitäisi aiheuttaa tehokkuusongelmia. Yleinen ongelma on kuitenkin luettelon metafields valitseminen ja kaikkien resurssin metakenttien läpikäynti silmukassa. Jos value-kenttä sisältää paljon dataa, esimerkiksi kun käytetään HTML-objekteja, tämä voi johtaa suuren datamäärän käsittelyyn ja mahdollisesti aiheuttaa tehokkuusongelmia.
Ratkaisu: Käytä metafield-objektia metafields-luettelon sijaan.
Nouda tietoja -toimintojen liiallinen käyttö
Työnkulut, jotka käyttävät Nouda tietoja -toimintoa, kuten Nouda tilauksen tiedot, on suunniteltu palauttamaan enintään 100 objektia työnkulkua kohti Nouda tietoja -toiminnoista. Yli 100 objektin käyttäminen voi aiheuttaa tehokkuusongelmia.
Ratkaisu: Suorita työnkulku useammin, jotta kyselysi ei tarvitse palauttaa yli 100 tulosta. Käytä samaa Nouda tietoja -toimintoa uudelleen toistuvien kyselyiden tekemisen sijaan.
Ei kyselysuodattimia Nouda tietoja -toiminnoissa
Nouda tietoja -toiminnot kutsuvat Shopify API -rajapintaa. Jos kyselyä ei ole määritetty, API palauttaa joko kaikki resurssit tai ei mitään. Tämä voi aiheuttaa tehokkuusongelmia, mutta se voi myös aiheuttaa väärien toimintojen suorittamisen kaupassasi, kun käytät palautettua dataa myöhemmin työnkulussa.
Ratkaisu: Sisällytä aina kyselysuodattimet Nouda tietoja -toimintoihisi.
Virheelliset kyselysuodattimet Nouda tietoja -toiminnoissa
Nouda tietoja -kyselyt tukevat rajallista joukkoa kyselysuodattimia, tiettyä syntaksia ja tiettyä joukkoa arvoja, joita voidaan käyttää suodattimissa. Väärän suodattimen, suodattimen arvon tai syntaksin syöttäminen voi johtaa siihen, että koko kysely ohitetaan, mikä voi aiheuttaa samanlaisia ongelmia kuin silloin, kun kyselysuodatinta ei ole.
Ratkaisu: Etsi käytettävissä olevien kyselysuodattimien luettelo Flow'ssa toiminnon tarjoamasta dokumentaatiosta. Testaa aina kyselysuodattimesi varmistaaksesi, että ne palauttavat odotetut tiedot. Voit tarkastella palautettua dataa Flow'n Kirjaa tuloste -toiminnolla tai voit kutsua Shopify Admin API -rajapintaa suoraan API-asiakkaan, kuten Postmanin, tai GraphiQL-sovelluksen kautta.
Lisäratkaisuja yleisiin tehokkuusongelmiin
Käytä Odota-vaiheita datan noudon viivästyttämiseen
Odota-vaiheiden avulla voit keskeyttää työnkulun tietyksi ajaksi, mutta odota-vaiheita voidaan käyttää myös työnkulkujen optimointiin. Jokainen odota-vaihe jakaa tehokkaasti työnkulun suorituksen erillisiin vaiheisiin. Kun työnkulku suoritetaan, se noutaa automaattisesti tiedot, joita tarvitaan ensimmäiseen odota-vaiheeseen asti (ja noutaa tiedot uudelleen odota-vaiheen jälkeen lopputyönkulkua varten).
Jos työnkulku käyttää suuren volyymin käynnistintä ja noutaa paljon dataa, mutta suorittaa toiminnon vain satunnaisesti, voit sijoittaa monimutkaisen datan tai logiikan ehto- ja odota-vaiheparin jälkeen. Esimerkiksi:
- Käynnistin: Tuoteversion varastomäärä muuttui.
- Ehto: Tarkista, onko tuote kokoelmassa.
- Jos tosi, Toiminto: Odota 2 sekuntia.
- Toiminto: Lähetä sähköposti asiakkaalle (jossa on paljon dataa).
Tässä esimerkissä vaihetta 4 varten tarvittavat tiedot haetaan vasta, kun Odota-vaihe on suoritettu. Jos ehto on yleensä epätosi, työnkulku suoritetaan nopeammin ja tehokkaammin.
Mitä ei kannata optimoida
Saman datan käyttäminen useissa toiminnoissa
Kun käytät samaa kenttää useissa vaiheissa, Flow analysoi kyseisten kenttien käytön ja noutaa datan vain kerran. Tämä tarkoittaa, että voit käyttää dataa niin monta kertaa kuin haluat murehtimatta tehokkuudesta.