Optimalizácia pracovných postupov aplikácie Shopify Flow

Pri vytváraní pracovného postupu chcete zabezpečiť, aby sa spúšťal čo najefektívnejšie. Tento dokument uvádza scenáre, ktoré môžu spôsobiť obmedzenie pracovných postupov alebo vyčerpanie limitov rozhrania API, a poskytuje tipy, ako tieto problémy vyriešiť.

Bežné problémy s výkonnosťou

Táto časť opisuje bežné scenáre, ktoré môžu spôsobiť problémy s výkonnosťou vašich pracovných postupov. Je možné, že sa vyskytne viac ako jeden scenár súčasne, čo by zvýšilo pravdepodobnosť problémov s výkonnosťou. V prípade chýb súvisiacich s konfiguráciou editora alebo obmedzením rýchlosti použite sprievodcu riešením problémov.

Spúšťače s veľkým objemom

Spúšťače s veľkým objemom sú také, pri ktorých k základnej udalosti dochádza často. Napríklad spúšťač Zmenilo sa množstvo zásob pre variant produktu sa spustí pri každej zmene inventára v obchode. Objem spúšťača pôsobí ako násobiteľ akéhokoľvek problému v pracovnom postupe. Ak napríklad pracovný postup získa 100 produktov a spustí sa 1 000-krát za minútu, získa 100 000 produktov za minútu. To môže spôsobiť problémy s výkonnosťou.

Riešenie: Optimalizujte svoje pracovné postupy použitím menšieho množstva dát alebo použite kroky čakania na rozdelenie pracovného postupu.

Viacero pracovných postupov používajúcich ten istý spúšťač

V aplikácii Flow môžete vytvoriť viacero pracovných postupov pomocou jedného spúšťača. Po výskyte udalosti sa tieto pracovné postupy spustia súbežne. Ak pomocou toho istého spúšťača spustíte príliš veľa pracovných postupov, môže to byť problematické z nasledujúcich dôvodov:

  • Pracovné postupy môžu byť vo vzájomnom konflikte.
  • Pracovné postupy sa pokúšajú získavať dáta a volať rozhrania API súčasne a počet požiadaviek, ktoré dokáže obchod naraz spracovať, je limitovaný limitmi rozhrania API Shopify.

Riešenie: Skombinujte pracovné postupy, ktoré používajú rovnaký spúšťač, do jedného pracovného postupu. To vám tiež umožní kontrolovať, kedy sa ktorý z nich vykoná, aby sa nedostali do konfliktu. Kombinovanie pracovných postupov je užitočné najmä vtedy, ak nezískavajú veľa dát alebo ak sú získané dáta rovnaké. Ak pracovné postupy získavajú veľa rozdielnych dát, ich oddelené ponechanie môže priniesť lepšiu výkonnosť.

Používanie zoznamov alebo nesprávnych dát

Pri vytváraní pracovného postupu môžete použiť zoznam objektov, napríklad produktov alebo objednávok. Ak použijete zoznam objektov, aplikácia Flow získa všetky objekty v zozname. Ak zoznam obsahuje veľa dát, môže to predstavovať problém.

Ďalším častým problémom je náhodný výber nesprávnych dát. Ak chcete napríklad skontrolovať dáta produktu v objednávke, možno ste vybrali order / publication / products / tags namiesto order / line items / product / tags. Prvý výsledok je zvyčajne nesprávny, pretože získa všetky produkty pre publikáciu, zatiaľ čo zámerom bolo skontrolovať produkty v objednávke. Výber takého veľkého zoznamu môže spôsobiť problémy s výkonnosťou a výber nesprávneho zoznamu môže viesť k tomu, že vaša automatizácia vykoná nesprávnu akciu.

Riešenie: Dôkladne vyberajte dáta, ktoré potrebujete, a ak to nie je nutné, vyhnite sa používaniu zoznamov. Otestujte svoje pracovné postupy, aby ste sa uistili, že fungujú podľa očakávania.

Metapolia

Získavanie dát jednotlivých metapolí alebo metaobjektov by nemalo spôsobovať problémy s výkonnosťou. Častým problémom je však výber zoznamu metafields a cyklické prechádzanie všetkými metapoliami zdroja. Ak pole value obsahuje veľa dát (napríklad pri použití objektov HTML), môže to viesť k spracovaniu veľkého množstva dát a potenciálne k problémom s výkonnosťou.

Riešenie: Namiesto položky metafields použite objekt metafield.

Nadmerné používanie akcií získavania dát

Pracovné postupy využívajúce akciu Získať dáta, ako napríklad Získať dáta objednávky, sú navrhnuté tak, aby z akcií Získať dáta vrátili maximálne 100 objektov na pracovný postup. Prekročenie hranice 100 objektov môže spôsobiť problémy s výkonnosťou.

Riešenie: Spúšťajte pracovný postup častejšie, aby váš dopyt nemusel vracať viac ako 100 výsledkov. Namiesto opakovaných dopytov znova použite rovnakú akciu Získať dáta.

Žiadne filtre dopytov v akciách získavania dát

Akcie Získať dáta volajú rozhranie API Shopify. Ak nie je prítomný žiadny dopyt, rozhranie API vráti všetky zdroje alebo žiadne. To môže spôsobiť problémy s výkonnosťou, ale tiež viesť k nesprávnym akciám v obchode, keď sa vrátené dáta použijú neskôr v pracovnom postupe.

Riešenie: Do akcií Získať dáta vždy zahrňte filtre dopytov.

Nesprávne filtre dopytov v akciách získavania dát

Dopyty na Získanie dát podporujú obmedzenú množinu filtrov dopytov, špecifickú syntax a špecifickú množinu hodnôt, ktoré je možné použiť vo filtroch. Zadanie nesprávneho filtra, hodnoty filtra alebo syntaxe môže spôsobiť ignorovanie celého dopytu, čo môže spôsobiť podobné problémy, ako keď nie je prítomný žiadny filter dopytu.

Riešenie: Na vyhľadanie zoznamu dostupných filtrov dopytov použite dokumentáciu poskytovanú akciou v aplikácii Flow. Svoje filtre dopytov vždy otestujte, aby ste sa uistili, že vracajú očakávané dáta. Na kontrolu vrátených dát môžete v aplikácii Flow použiť akciu Výstup denníka, alebo môžete zavolať priamo Shopify Admin API cez klienta API, ako je napríklad Postman, alebo cez aplikáciu GraphiQL.

Ďalšie riešenia bežných problémov s výkonnosťou

Použitie krokov čakania na oddialenie získavania dát

Kroky čakania umožňujú pozastaviť pracovný postup na určitý čas, ale kroky čakania možno použiť aj na optimalizáciu pracovných postupov. Každý krok čakania efektívne rozdelí vykonanie pracovného postupu do samostatných fáz. Keď sa pracovný postup spustí, automaticky načíta dáta potrebné do prvého kroku čakania (a pre zvyšok pracovného postupu získa dáta znova až po kroku čakania).

Ak pracovný postup používa spúšťač s veľkým objemom a získava veľa dát, no akciu vykoná len občas, potom môžete akékoľvek zložité dáta alebo logiku umiestniť za dvojicu podmienky a kroku čakania. Napríklad:

  1. Spúšťač: Zmenilo sa množstvo zásob pre variant produktu.
  2. Podmienka: Kontrola, či sa produkt nachádza v kolekcii.
  3. Ak áno, Akcia: Čakať 2 sekundy.
  4. Akcia: Odoslať e-mail zákazníkovi (s veľkým množstvom dát).

V tomto príklade sa dáta požadované pre krok č. 4 dopytujú až po dokončení kroku čakania. Ak je podmienka väčšinou nesplnená, znamená to, že pracovný postup pobeží rýchlejšie a efektívnejšie.

Čo netreba optimalizovať

Používanie rovnakých dát vo viacerých akciách

Keď vo viacerých krokoch použijete rovnaké pole, aplikácia Flow analyzuje použitie týchto polí a dané dáta získa iba raz. Znamená to, že dáta môžete použiť toľkokrát, koľkokrát chcete, bez obáv o výkonnosť.