Resolución de errores y límites de uso de Flow
Este documento describe los errores frecuentes y los límites, por qué se producen y cómo resolverlos. Hay dos tipos de errores que puedes encontrar en Flow, permanentes y transitorios.
En esta página
Errores al editar flujos de trabajo
Cuando editas un flujo de trabajo, es posible que encuentres errores que te impidan guardarlo. Los siguientes son errores frecuentes que pueden surgir cuando editas un flujo de trabajo:
No se encontraron datos
Al agregar una nueva acción a un flujo de trabajo, es posible que encuentres un error que diga Data not found
, como Customer data not found
. Este error se produce cuando la información necesaria para la acción no está disponible. Por ejemplo, si agregas una acción que requiere una identificación de producto, este error significa que tu flujo de trabajo no ha suministrado un producto utilizable.
En general, estos datos se proporcionan con un activador o una acción de "Get data" (Obtener datos). Si usas "Get data", el problema frecuente sería que la acción requiere un solo artículo (el cliente), pero proporciona una enumeración (una lista de clientes). Si quieres realizar la acción correcta, agrega una acción Para cada con el objetivo de que se saltee la lista, pero llame a cada artículo dentro de ella.
Si tienes problemas con los datos del activador, consulta los documentos sobre la acción para encontrar un activador que proporcione la información correcta.
Errores cuando se ejecuta un flujo
Cuando se produce un error en la ejecución de un flujo de trabajo, se marca con Error. El mensaje de error se muestra en los detalles de la ejecución del flujo de trabajo. Los siguientes son errores frecuentes que pueden surgir cuando falla la ejecución de un flujo de trabajo:
Errores transitorios
Los errores transitorios son errores temporales que se producen cuando Flow no puede completar una tarea. Se reintenta solucionar estos errores hasta que se tiene éxito o se alcanza un límite de tiempo. Por ejemplo, si Flow no puede contactar a un partner al ejecutar una acción de conector, Flow reintenta la tarea varias veces antes de desistir.
Los reintentos se separan y el retraso entre cada intento posterior aumenta con respecto al retraso anterior. Por lo general, cuando un flujo de trabajo experimenta errores transitorios, permanece en el estado de ejecución durante mucho tiempo mientras reintenta las tareas.
Cuando se reintenta una tarea correctamente, el flujo de trabajo continúa. Si una tarea que se reintenta tiene un error permanente, el flujo de trabajo falla. Cada sección de flujo de trabajo tiene un límite de ejecución superior combinado de 36 horas. Si un paso con errores transitorios no se completa correctamente antes de alcanzar ese límite, fallará el flujo de trabajo.
Los flujos de trabajo con pasos de espera se dividen en secciones, lo que afecta la forma en que se calculan los límites de tiempo en un flujo de trabajo. Cada sección es un grupo de tareas que se ejecutan juntas y cada una tiene su propio límite de tiempo de 36 horas. Por ejemplo, si un flujo de trabajo tiene un paso que espera una hora, las tareas antes de dicho paso de espera se ejecutarán juntas en una sección y las tareas después de él se ejecutarán juntas en otra sección. Si un flujo de trabajo tiene varios pasos de espera, las tareas entre cada uno de ellos se ejecutarán juntas en una sección. Los flujos de trabajo sin un paso de espera se consideran una sección.
Los errores transitorios ocasionales son frecuentes. Sin embargo, si tienes un flujo de trabajo que encuentra sistemáticamente el mismo error transitorio entre varias ejecuciones, es posible que el flujo de trabajo deba configurarse de nuevo.
Tiempo agotado para el paso
Step timed out
Normalmente, se producen errores cuando una tarea en el flujo de trabajo intenta consultar demasiados datos en una sección. Este error se produce frecuentemente en flujos de trabajo que iteran en listas, especialmente en las anidadas, que son demasiado grandes para buscar de manera oportuna.
Cuando un flujo de trabajo encuentra este error, el activador o paso de espera se muestra como retrying
.
Para resolver esto, verifica las condiciones que accedan a listas y listas anidadas para asegurarte de que sean correctas. Un problema común es que una condición verifica todos los productos de una tienda en lugar de solo los productos de un pedido.
Estado 5xx
La mayoría de las acciones de Flow implican realizar llamadas HTTP. Ocasionalmente, las redes u otros problemas con el servidor pueden hacer que no se puedan realizar llamadas HTTP y devolver un código de error entre 500 y 599. Ver un caso de este error no es un problema, pero las instancias repetidas pueden indicar un problema con el servidor que gestiona la tarea, más que con la forma en que está configurado el paso.
Este tipo de error se observa frecuentemente en la acción Enviar solicitud HTTP, pero puede ocurrir en la mayoría de las tareas.
GraphQL acelerado
El volumen total de trabajo realizado por un flujo de trabajo está restringido por los límites de solicitudes a la API, que se determinan en parte por el plan. En general, estos límites no se alcanzan, a menos que un flujo de trabajo sea muy complejo o tenga un error de diseño involuntario. Los siguientes son ejemplos de escenarios que pueden producir este error:
- Liquid o las condiciones en el flujo de trabajo realizan un bucle en una lista con grandes cantidades de datos, como la verificación de los valores de metacampos que contienen HTML.
- Liquid o las condiciones en el flujo de trabajo realizan un bucle en una gran lista, como realizar un bucle en
shop.orders
en una gran tienda. - Un flujo de trabajo genera un bucle infinito en el que dicho flujo de trabajo sigue creando nuevas ejecuciones de flujos de trabajo. Por ejemplo, esto puede suceder si el flujo de trabajo usa el activador Etiquetas de cliente agregadas e incluye la acción Agregar etiquetas de cliente.
Si se alcanza el límite, recibirás el error GraphQL throttled
. Este error puede afectar a otros flujos de trabajo cuando intenten ejecutarse, por lo que debe resolverse inmediatamente si se produce.
Errores permanentes
Los errores permanentes se producen cuando Flow no puede completar una tarea y esta no se puede reintentar. Por ejemplo, si Flow no puede enviar un correo electrónico porque la dirección de correo electrónico no es válida, no reintentará la tarea. En su lugar, el flujo de trabajo falla.
Campos: las identificaciones son obligatorias pero están vacías
La mayoría de las acciones de Shopify requieren que se ejecuten uno o más recursos (como un producto, un cliente o un pedido). A veces, el recurso no está disponible, por lo que la acción no puede ejecutarse como debe. Por ejemplo, es posible crear un pedido en el panel de control que no tenga un cliente. Si intentas ejecutar una acción, como Agregar etiquetas de cliente, la acción será fallida y mostrará este error.
Para evitar un error, puedes agregar una condición antes de la acción para verificar si el recurso existe. En el ejemplo anterior, si deseas enviar un correo electrónico interno en el mismo flujo de trabajo que Agregar etiquetas de cliente, puedes anteponer la acción al paso que pueda fallar, o bien realizar una de las siguientes acciones.
Coloca las acciones en ramificaciones paralelas (donde dos o más ramificaciones provienen del mismo paso).
Agrega una condición antes de la acción para verificar si el cliente está presente. Por ejemplo, puedes verificar si order / customer / id is not empty and exists
.
Flow no tiene permiso para acceder a tu cuenta de Hojas de cálculo de Google. Vuelve a conectar la cuenta.
El conector de Hojas de cálculo de Google requiere que vincules tu cuenta de Google a Flow a fin de tener permiso para escribir en la hoja. Este error puede ocurrir cuando Flow no tiene permiso para escribir en una hoja, ya sea porque la cuenta se desvinculó de Flow o porque esa cuenta no puede acceder a esa hoja.
Para resolver esto, asegúrate de que la cuenta que se está utilizando para el conector pueda abrir la hoja y tenga acceso de edición. Si la cuenta incorrecta está vinculada, puedes desconectarla y conectar una nueva.
Pasos:
- Abre o crea un nuevo flujo de trabajo.
- Agrega una acción.
- Selecciona el conector de Hojas de cálculo de Google.
- Haz clic en Desconectar y luego en Conectar.
Acción de Flow recibida con propiedades no válidas. El cliente no acepta marketing.
La acción Enviar correo electrónico de marketing no envía correos electrónicos a clientes que no aceptaron recibirlos y falla permanentemente si el flujo de trabajo intenta hacerlo.
Para resolver esto, agrega una condición en el flujo de trabajo que verifica el estado de suscripción de los clientes. Puedes asegurarte de que los clientes aceptaron recibir correos electrónicos de marketing antes de enviarlos. Sigue los pasos en Gestión de la lista de suscriptores de correo electrónico.
Falta el recurso para el [tipo de recurso]
Este error indica que un recurso, como customer
o order
, se eliminó antes de que el flujo de trabajo pudiera buscar sus datos. La mayoría de las veces esto se produce después de un paso de espera, pero es posible que esto también suceda en el activador si el recurso se elimina muy rápidamente después de que ocurra el evento activador.
Recibir notificaciones cuando ocurra un error
Si tener errores afecta las operaciones de tu tienda, puedes configurar notificaciones para cuando ocurra un error. Las notificaciones de error se pueden crear como cualquier otro flujo de trabajo con el activador Se produjo un error en el flujo de trabajo. Las notificaciones de error están diseñadas para limitar el ruido, por lo que solo recibirás una notificación por versión del flujo de trabajo.
Para comenzar, puedes usar una de las siguientes plantillas:
- Recibir una alerta de Shopify cuando se detectan errores de ejecución del flujo de trabajo
- Recibir notificaciones por correo electrónico cuando se detectan errores de ejecución del flujo de trabajo
- Recibir una notificación de Slack cuando se detectan errores de ejecución del flujo de trabajo
Reintentar ejecuciones
En algunos casos, una ejecución de flujo de trabajo puede detectar un error o no ejecutarse como debe. Después de solucionar los problemas y corregir los errores del flujo de trabajo relacionado, se pueden reintentar manualmente las ejecuciones anteriores para corregir su resultado de forma retroactiva. Obtén más información sobre cómo reintentar ejecuciones de flujos de trabajo.
En ejecución (tarifa limitada)
En algunos casos, los flujos de trabajo pueden usar demasiados recursos y, para evitar que esto cause problemas, Flow limitará deliberadamente las ejecuciones en tu tienda, lo que podría causar retrasos y errores de tiempo de espera. Para solucionar este problema, se puede escribir de nuevo los flujos de trabajo ineficaces, generalmente, para corregir un error en el que no funcionaba según lo esperado.
Ejecución que dura mucho tiempo
Este mensaje indica que las ejecuciones de un flujo de trabajo tardan mucho en ejecutarse. Normalmente, esto se debe al uso de una gran cantidad de datos dentro de un flujo de trabajo que hace que Flow tarde mucho tiempo en recuperarlos.
Ejemplo
Estos casos generalmente se originan en procesos de solicitud profunda, que pasan por varias listas de artículos (como solicitar todos los metacampos para todos los productos en todas las colecciones de las que forman parte):
A menudo, esto también se relaciona con el tiempo agotado del paso Trigger de un flujo de trabajo.Los flujos de trabajo que pasan por todos los metacampos a menudo se pueden mejorar solo con el uso de un metacampo específico. Es posible que el acceso a varias listas anidadas (como todos los productos de todas las colecciones de un producto) o listas particularmente grandes (como las definiciones de metacampos, que contiene todos los metacampos de todos los objetos) se hayan realizado de manera involuntaria, por lo que seleccionar el campo correcto (solo el producto o un metacampo en un objeto) puede mejorar significativamente la eficiencia. En otros casos, usar una acción "Obtener datos de productos/pedidos/clientes" con un filtro de consulta puede reducir significativamente la cantidad de objetos utilizados, pero aun así acceder a los correspondientes.
Procesar muchos datos
Este mensaje indica que las ejecuciones de un flujo de trabajo generan una gran cantidad de datos. Normalmente, esto se debe a que tienen condiciones complejas que revisan muchos campos, por lo general, debido a la verificación de campos en varias capas de listas.
Ejemplo
Por ejemplo, un estado como "Para al menos una etiqueta en este cliente, para al menos una línea de artículos de pedido, para al menos una etiqueta en la línea de artículo" puede dar a que se realicen muchas revisiones y se generen muchos datos a fin de mostrar los resultados de esas revisiones:
Falla de los reintegros automáticos
Este mensaje indica que las ejecuciones de un flujo de trabajo fallan varias veces debido a un problema temporal, pero que no tienen éxito frecuentemente en los intentos posteriores. Esto ocurre a menudo cuando la API de Shopify Admin o la aplicación de un partner se encuentra con un gran volumen de solicitudes.