Optimizar os teus fluxos de traballo de Shopify Flow
Cando creas un fluxo de traballo, queres asegurarte de que se execute da maneira máis eficiente posible. Este documento describe as situacións que poden causar que os teus fluxos de traballo sexan restrinxidos ou esgoten os límites da API, e consellos sobre como resolver estes problemas ou buscar unha solución alternativa.
Nesta páxina
Problemas de rendemento comúns
Esta sección describe as situacións habituais que poden causar problemas de rendemento nos teus fluxos de traballo. É posible que se dea máis dunha situación ao mesmo tempo, o cal aumenta as probabilidades de observar problemas de rendemento. Para erros relacionados coa configuración do editor ou co límite de taxa, utiliza a guía de resolución de problemas.
Activadores de gran volume
Os activadores de gran volume son aqueles nos que o evento subxacente se produce con frecuencia. Por exemplo, o activador A cantidade de inventario da variante de produto cambiou execútase con cada cambio de inventario nunha tenda. O volume dun activador actúa como multiplicador de calquera problema que exista no teu fluxo de traballo. Por exemplo, se un fluxo de traballo obtén 100 produtos e se executa 1000 veces por minuto, acabará obtendo 100 000 produtos por minuto. Isto pode causar problemas de rendemento.
Solución: optimiza os teus fluxos de traballo usando menos datos ou utiliza pasos de espera para particionar o teu fluxo de traballo.
Moitos fluxos de traballo que usan o mesmo activador
En Flow, podes crear máis dun fluxo de traballo usando o mesmo activador. Estes fluxos de traballo executaranse en paralelo uns cos outros cando se produza o evento. Isto pode ser problemático se executas demasiados fluxos de traballo co mesmo activador polos seguintes motivos:
- Pode haber conflitos entre os fluxos de traballo.
- Os fluxos de traballo tentan obter datos e chamar ás API ao mesmo tempo, e a cantidade de solicitudes simultáneas que a túa tenda pode procesar está restrinxida polos límites da API de Shopify.
Solución: combina os fluxos de traballo que utilicen o mesmo activador nun único fluxo de traballo. Isto tamén che permite controlar cando se executa cada un, de xeito que non entren en conflito entre si. A combinación de fluxos de traballo resulta especialmente útil se estes non recuperan gran cantidade de datos ou se os datos que recuperan son os mesmos. Se os fluxos de traballo recuperan moitos datos distintos, poida que obteñas un mellor rendemento se os mantés separados.
Uso de listas ou de datos incorrectos
Cando creas un fluxo de traballo, podes utilizar unha lista de obxectos, como produtos ou pedidos. Se utilizas unha lista de obxectos, Flow obterá todos os obxectos desa lista. Isto pode ser un problema cando a lista contén moitos datos.
Outro problema frecuente é seleccionar os datos equivocados accidentalmente. Por exemplo, para comprobar os datos de produto dun pedido, é posible que seleccionases pedido / publicación / produtos / etiquetas no canto de pedido / artigos de liña / produto / etiquetas. O primeiro resultado soe ser incorrecto, xa que obtén todos os produtos dunha publicación cando a intención é comprobar os produtos do pedido. Escoller unha lista tan grande pode causar problemas de rendemento, e escoller a lista incorrecta pode facer que a automatización non actúe como debe.
Solución: selecciona coidadosamente os datos que necesitas e evita usar listas cando non faga falta. Proba os teus fluxos de traballo para garantir que fagan o que esperas.
Metacampos
A obtención de datos individuais de metacampos ou metaobxectos non debería causar problemas de rendemento. Non obstante, un problema habitual é escoller a lista metafields e executar un bucle sobre todos os metacampos dun recurso. Se un campo value contén moitos datos, por exemplo, cando se usan obxectos HTML, pódese acabar procesando unha inmensa cantidade de datos, o que podería causar problemas de rendemento.
Solución: utiliza o obxecto metafield no canto de metafields.
Uso excesivo das accións Obter datos
Os fluxos de traballo que utilizan unha acción Obter datos, como Obter datos de pedido, están deseñados para devolver un máximo de 100 obxectos por fluxo a partir desas accións. Superar os 100 obxectos pode causar problemas de rendemento.
Solución: executa o fluxo de traballo con máis frecuencia para que a túa consulta non precise devolver máis de 100 resultados. Reutiliza a mesma acción Obter datos no canto de realizar consultas repetidas.
Accións Obter datos sen filtros de consulta
As accións Obter datos realizan unha chamada á API de Shopify. Se non hai ningunha consulta, a API devolverá todos os recursos ou ningún. Isto pode causar problemas de rendemento, mais tamén pode provocar que se apliquen as accións incorrectas na túa tenda cando utilizes os datos devoltos posteriormente no fluxo de traballo.
Solución: inclúe sempre filtros de consulta nas túas accións Obter datos.
Filtros de consulta incorrectos nas accións Obter datos
As consultas de Obter datos admiten un conxunto limitado de filtros de consulta, unha sintaxe específica e unha serie de valores concretos que se poden utilizar nos filtros. Introducir un filtro, un valor ou unha sintaxe incorrectos pode facer que se ignore a consulta enteira, o cal orixinaría problemas similares aos que suceden cando non hai ningún filtro de consulta.
Solución: consulta a documentación que fornece a acción en Flow para atopar a lista de filtros de consulta dispoñibles. Proba sempre os teus filtros de consulta para asegurar que devolven os datos esperados. Podes usar a acción Rexistrar saída en Flow para revisar os datos devoltos ou podes chamar directamente á Shopify Admin API mediante un cliente da API como Postman ou a aplicación GraphiQL.
Solucións adicionais para os problemas de rendemento comúns
Usar pasos de Espera para atrasar a obtención de datos
Os pasos de espera permítenche pausar un fluxo de traballo durante unha cantidade de tempo determinada, mais tamén se poden utilizar para optimizar os teus fluxos. Na práctica, cada paso de espera divide a execución do teu fluxo de traballo en fases distintas. Cando o fluxo de traballo se executa, obtén automaticamente os datos necesarios ata chegar ao primeiro paso de espera (e volve obter datos despois del para o resto do fluxo de traballo).
Se un fluxo de traballo usa un activador de gran volume e obtén moitos datos, mais só levará a cabo unha acción ocasionalmente, podes pór calquera lóxica ou datos complexos despois dun par de condición e paso de espera. Por exemplo:
- Activador: A cantidade de inventario da variante de produto cambiou.
- Condición: Comprobar se o produto está nunha colección.
- Se é certo, Acción: Esperar 2 segundos.
- Acción: Enviar correo electrónico ao cliente (con moitos datos).
Neste exemplo, os datos requiridos para o paso 4 só se consultan despois de que finalice o paso Esperar. Se a condición soe ser falsa, isto significa que o fluxo de traballo se executará de maneira máis rápida e eficiente.
Que non se debe optimizar
Usar os mesmos datos en varias accións
Cando utilizas o mesmo campo en varios pasos, Flow analiza o uso deses campos e só obtén os datos unha vez. Isto significa que podes utilizar os datos tantas veces como queiras sen preocuparte polo rendemento.