Työnkulkujen optimointi

Kun luot työnkulkua, sinun kannattaa varmistaa, että se toimii mahdollisimman tehokkaasti. Tässä asiakirjassa esitellään skenaarioita, jotka saattavat johtaa siihen, että työnkulkujasi rajoitetaan tai että ne ylittävät API-rajoitukset, sekä annetaan vinkkejä näiden ongelmien korjaamiseen tai välttämiseen.

Yleiset tehokkuusongelmat

Tässä osiossa esitellään yleisiä skenaarioita, jotka voivat aiheuttaa tehokkuusongelmia työnkuluissasi. Useita skenaarioita voi ilmetä samanaikaisesti. Tällaisessa tilanteessa havaitset tehokkuusongelmat todennäköisemmin. Jos sinulla on editorin määrityksiin tai nopeusrajoituksiin liittyviä virheitä, käytä vianmääritysopasta.

Suurten määrien käynnistimet

Suurten määrien käynnistimet ovat käynnistimiä, joiden tapahtumia ilmenee usein. Esimerkiksi Tuoteversion varastomäärä muuttunut ‑käynnistin käynnistyy aina, kun kaupan varastossa tapahtuu muutos. Jos käynnistin käynnistyy usein, mikä tahansa mahdollinen ongelma työnkulussasi toistuu aina käynnistimen käynnistyessä, mikä johtaa ongelman laajenemiseen. Jos työnkulku hakee esimerkiksi 100 tuotetta ja se suoritetaan 1 000 kertaa minuutissa, se hakee 100 000 tuotetta minuutissa. Tämä voi aiheuttaa tehokkuusongelmia, jos työnkulussasi on ongelma.

Ratkaisu: optimoi työnkulkusi siten, että käytät vähemmän tietoja, tai osioi työnkulku odotusvaiheilla alla kuvatulla tavalla.

Useat samaa käynnistintä käyttävät työnkulut

Flow'ssa voit luoda useita työnkulkuja samalla käynnistimellä. Nämä työnkulut suoritetaan rinnakkain, kun käynnistimen tapahtuma ilmenee. Jos suoritat liian montaa työnkulkua samalla käynnistimellä, tämä voi olla ongelmallista seuraavista syistä:

  • Työnkulut voivat olla keskenään ristiriitaisia.
  • Työnkulut yrittävät hakea tietoja ja kutsua API-ohjelmointirajapintaa samanaikaisesti, mutta Shopifyn API-rajoitukset rajoittavat sitä, kuinka monta pyyntöä kauppasi voi käsitellä samanaikaisesti.

Ratkaisu: Yhdistä samaa käynnistintä käyttävät työnkulut yhdeksi työnkuluksi. Näin voit hallita myös sitä, 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 hae suurta määrää tietoja tai jos ne hakevat samoja tietoja. Jos työnkulut hakevat suuren määrän eri tietoja, tehokkuus voi olla parempi, jos pidät työnkulut erillisinä.

Luetteloiden tai väärien tietojen käyttö

Kun luot työnkulkua, voit käyttää objektiluetteloa (esimerkiksi tuote- tai tilausluetteloa). Jos käytät objektiluetteloa, Flow hakee kaikki luettelon objektit. Tämä voi olla ongelma, kun luettelo sisältää paljon tietoa.

Toinen yleinen ongelma on väärien tietojen valitseminen vahingossa. Jos haluat esimerkiksi tarkistaa tilauksen tuotetiedot, olet saattanut valita asetuksen order / publication / products / tags asetuksenorder / line items / product / tags sijasta. Ensimmäinen tulos on yleensä virheellinen, sillä se hakee kaikki julkaisun tuotteet, vaikka tarkoitus on tarkistaa tilauksen tuotteet. Näin suuren luettelon valinta voi aiheuttaa tehokkuusongelmia. Väärän luettelon valinta taas voi johtaa siihen, että automaatio suorittaa väärän toiminnon.

Ratkaisu: Valitse tarvitsemasi tiedot huolellisesti ja vältä luetteloiden käyttöä, kun se ei ole tarpeellista. Testaa työnkulkusi ja varmista, että ne suorittavat odottamasi toiminnot.

Metakentät

Yksittäisten metakenttien tai metaobjektien tietojen hakemisen ei pitäisi aiheuttaa tehokkuusongelmia. Yleinen ongelma on kuitenkin luettelon metafields-objektin valitseminen ja silmukan luominen kaikille resurssin metakentille. Jos value-kenttä sisältää paljon tietoa (esimerkiksi käyttäessäsi HTML-objekteja), tämä voi johtaa siihen, että käsiteltävä tietomäärä on hyvin suuri, mikä voi aiheuttaa tehokkuusongelmia.

Ratkaisu: Käytä metafield (docs) ‑objektia metafields-objektin sijaan.

Hae tiedot ‑toimintojen liiallinen käyttö

Hae tiedot ‑toimintoa käyttävät työnkulut (esimerkiksi Hae tilaustiedot) on suunniteltu palauttamaan Hae tiedot ‑toiminnoista enintään 100 objektia per työnkulku. 100 objektin määrän ylittäminen voi aiheuttaa tehokkuusongelmia.

Ratkaisu: Suorita työnkulku useammin, jotta kyselysi ei tarvitse palauttaa yli 100 tulosta. Käytä uudelleen samaa Hae tiedot ‑toimintoa toistuvien kyselyiden tekemisen sijaan.

Ei kyselysuodattimia Hae tiedot ‑toiminnoissa

Hae tiedot ‑toiminnot kutsuvat Shopify API ‑ohjelmointirajapintaa. Jos kyselyä ei ole, API palauttaa joko kaikki resurssit tai ei yhtään resurssia. Tämä voi aiheuttaa tehokkuusongelmia sekä väärien toimintojen suorittamista kaupassasi, jos käytät palautettuja tietoja myöhemmin työnkulussa.

Ratkaisu: sisällytä aina kyselysuodattimet Hae tiedot ‑toimintoihisi.

Virheelliset kyselysuodattimet Hae tiedot ‑toiminnoissa

Hae tiedot ‑kyselyt tukevat rajoitettua joukkoa kyselysuodattimia, tiettyä syntaksia ja tiettyjä arvoja, joita voidaan käyttää suodattimissa. Väärän suodattimen, suodattimen arvon tai syntaksin antaminen voi johtaa siihen, että koko kysely jätetään huomiotta. Tämä voi aiheuttaa samanlaisia ongelmia kuin tilanne, jossa kyselysuodatinta ei ole.

Ratkaisu: Tarkista käytettävissä olevat kyselysuodattimet toiminnon ohjeista Flow'ssa. Testaa aina kyselysuodattimesi ja varmista, että ne palauttavat odotetut tiedot. Flow'n Lokitulos-toiminnolla voit tarkistaa palautetut tiedot. Voit myös kutsua Shopify Admin API ‑ohjelmointirajapintaa suoraan (Postmanin kaltaisella API-asiakasohjelmalla tai GraphiQL-sovelluksella).

Muita ratkaisuja yleisiin tehokkuusongelmiin

Viivästytä tietojen hakemista odotusvaiheilla

Odotusvaiheiden avulla voit keskeyttää työnkulun tietyksi ajaksi, mutta voit myös optimoida työnkulkujasi niiden avulla. Jokainen odotusvaihe jakaa työnkulkusi suorituksen tehokkaasti erillisiin lohkoihin. Kun työnkulku suoritetaan, se hakee automaattisesti tiedot, joita tarvitaan ensimmäiseen odotusvaiheeseen saakka (ja se hakee sitten odotusvaiheen jälkeen tiedot uudelleen työnkulun muita lohkoja varten). Jos työnkulku käyttää suuren määrän käynnistintä ja hakee paljon tietoja, mutta suorittaa toimintoja vain satunnaisesti, voit sijoittaa mitkä tahansa monimutkaiset tiedot tai logiikat ehdon ja odotusvaiheen yhdistelmän jälkeen. Esimerkki:

  1. Käynnistin on Tuoteversion varastomäärä muuttunut.
  2. Ehto on Tarkista, kuuluuko tuote kokoelmaan.
  3. Jos ehto täyttyy, toiminto on Odota kaksi sekuntia.
  4. Toiminto on Lähetä sähköposti asiakkaalle (sisältää paljon tietoa).

Tässä esimerkissä vaiheeseen 4 vaadittavat tiedot kysytään vasta odotusvaiheen jälkeen. Jos ehto ei yleensä täyty, tämä tarkoittaa sitä, että työnkulku suoritetaan nopeammin ja tehokkaammin.

Mitä ei kannata optimoida?

Samojen tietojen käyttö useissa toiminnoissa

Kun käytät samaa kenttää useissa vaiheissa, Flow analysoi näiden kenttien käytön ja hakee tiedot vain kerran. Tämä tarkoittaa sitä, että voit käyttää tietoja niin monta kertaa kuin haluat ilman tehokkuuden heikkenemistä.

Etkö löydä hakemaasi vastausta? Autamme mielellämme.