Solução de problemas de erros e limites de uso do Flow

Este documento descreve os erros e limites comuns, motivos para ocorrerem e a solução correspondente. Há dois tipos de erros no Flow: erros permanentes e erros temporários.

Erros ao editar fluxos de trabalho

Ao editar um fluxo de trabalho, é possível que surjam erros que impeçam você de salvá-lo. Confira a seguir os erros mais comuns:

Dados não encontrados

Ao adicionar uma nova ação a um fluxo de trabalho, você pode encontrar um erro que diga Data not found, por exemplo, Customer data not found. Esse erro ocorre quando os dados necessários para a ação não estão disponíveis. Por exemplo, se você está adicionando uma ação que requer um ID de produto, esse erro significa que seu fluxo de trabalho não forneceu um produto acessível.

Normalmente, esses dados são fornecidos por um acionador ou por uma ação "Get data" (Coletar dados). Se estiver usando "Get data" (Coletar dados), um problema comum será que a ação requer um único item (o cliente), mas ela fornece uma lista (de clientes). Nesse caso, você deve adicionar uma ação For each (Para cada) para percorrer a lista e chamar a ação em cada item exibido.

Para problemas com os dados de acionador, consulte a documentação da ação e encontre um acionador que forneça os dados certos.

Erros quando um fluxo de trabalho é executado

Quando ocorre um erro em um fluxo de trabalho, a operação é marcada como falha. A mensagem de erro é exibida nas informações de execução do fluxo de trabalho. Veja a seguir erros comuns que podem ocorrer quando há falha na execução de um fluxo de trabalho:

Erros temporários

Os erros temporários ocorrem quando o Flow não consegue concluir uma tarefa. Nesse caso, são feitas novas tentativas até a ação ser bem-sucedida ou um limite de tempo ser alcançado. Por exemplo, se o Flow não conseguir entrar em contato com um Parceiro durante a execução de uma ação de conexão, ele tentará executar a tarefa várias vezes antes de desistir.

As tentativas são feitas a intervalos, com aumento da pausa em cada tentativa subsequente. Em geral, quando um fluxo de trabalho tem erros temporários, ele permanece no estado de execução por um longo tempo, à medida que tenta realizar as tarefas de novo.

Quando a tarefa é realizada após uma nova tentativa, o fluxo de trabalho continua. Mas, se o erro persistir, haverá uma falha. Cada seção do fluxo de trabalho tem um limite máximo de execução combinado de 36 horas. Se uma etapa com erros temporários não for completada antes de atingir esse limite, o fluxo de trabalho apresentará uma falha.

Os fluxos de trabalho com etapas de espera são divididos em seções, o que afeta a maneira como os limites de tempo são calculados. Cada seção é um grupo de tarefas executadas em conjunto, com um limite de tempo de 36 horas. Por exemplo, se um fluxo de trabalho tiver uma etapa de espera que aguarde uma hora, as tarefas anteriores a essa etapa serão executadas juntas em uma seção, e as tarefas posteriores serão executadas juntas em outra seção. Se um fluxo de trabalho tiver várias etapas de espera, as tarefas entre cada etapa dessas serão executadas juntas em uma única seção. Já os fluxos de trabalho sem etapa de espera são considerados uma seção.

Os erros temporários ocasionais são comuns. No entanto, se você tiver um fluxo de trabalho que tem o mesmo erro temporário de maneira consistente em várias execuções, talvez seja necessário reconfigurá-lo.

Etapa expirada

Step timed out Em geral, erros acontecem quando uma tarefa no fluxo de trabalho tenta consultar muitos dados em uma única seção. Esse erro costuma ocorrer em fluxos de trabalho que iteram sobre listas, especialmente listas aninhadas grandes demais para fazer a busca em tempo hábil.

Quando um fluxo de trabalho encontra esse erro, a etapa de acionamento ou de espera é exibida como retrying.

Para chegar a uma solução, verifique se as condições de listas aninhadas e de acesso estão corretas. Um problema comum é quando uma condição analisa todos os produtos em uma loja em vez de apenas os itens em um pedido.

Status 5xx

A maioria das ações do Flow envolve fazer chamadas HTTP. Às vezes, problemas de rede ou outros servidores podem fazer com que as chamadas HTTP falhem e retornem um código de erro entre 500 e 599. Uma ocorrência dessas não é problemática, mas a repetição das instâncias pode indicar um problema com o servidor que trata da tarefa, em vez de com a configuração da etapa.

Esse tipo de erro é mais comum na ação Send HTTP Request ("Enviar solicitação HTTP"), mas pode acontecer na maioria das tarefas.

GraphQL com limite

O volume total de trabalho realizado por um fluxo de trabalho é limitado pelos limites de taxa de API, determinados em parte pelo plano. Em geral, esses limites não são atingidos, a menos que um fluxo de trabalho seja muito complexo ou tenha um erro de design não intencional. Apresentamos abaixo exemplos de cenários que podem gerar o erro:

  • Liquid ou condições no fluxo de trabalho que entram em loop em uma lista com grandes quantidades de dados, como verificar valores de metacampo que contêm HTML.
  • Liquid ou condições no fluxo de trabalho que entram em loop em uma lista grande, como loop em shop.orders de uma loja grande.
  • Um fluxo de trabalho resulta em um loop infinito no qual o fluxo de trabalho continua criando novas execuções. Essa situação pode acontecer, por exemplo, se o fluxo de trabalho usar o acionador Customer tags added ("Tags de cliente adicionadas") e incluir a ação Add customer tags ("Adicionar tags de cliente").

Se o limite for atingido, você receberá um erro GraphQL throttled, que poderá afetar outros fluxos de trabalho quando eles tentarem a execução. Portanto, caso ocorra, esse erro deve ser resolvido imediatamente.

Erros permanentes

Os erros permanentes ocorrem quando o Flow não consegue concluir uma tarefa e não é possível fazer uma nova tentativa. Por exemplo, se o Flow não puder enviar um e-mail porque o endereço é inválido, ele não tentará realizar a tarefa de novo. Em vez disso, haverá uma falha.

O Flow não tem permissão para sua conta do Planilhas Google. Reconecte a conta.

O conector das Planilhas Google exige que você vincule a conta do Google ao Flow para ter permissão de escrever na planilha. Esse erro pode ocorrer quando o Flow não tem permissão para escrever em uma planilha porque a conta foi desvinculada do Flow ou porque a conta não consegue acessar a planilha.

Para resolver isso, verifique se a conta usada para o conector pode abrir a planilha e ter acesso de edição. Se a conta incorreta estiver vinculada, desconecte-a e conecte uma nova.

Etapas:
  1. Abra ou crie um fluxo de trabalho.
  2. Adicione uma ação.
  3. Selecione o conector do Planilhas Google.
  4. Clique em Desconectar e, depois, em Conectar.

Ação do Flow recebida com propriedades inválidas. O cliente não aceita marketing.

A ação Send marketing email ("Enviar e-mail marketing") não envia e-mails para clientes que não concordaram em recebê-los e apresenta uma falha permanente se o fluxo de trabalho tentar fazê-lo.

Para resolver isso, adicione uma condição ao fluxo de trabalho que verifique o status da assinatura dos clientes. Verifique se essas pessoas concordaram em receber e-mails marketing antes de enviá-los. Siga as etapas em Gerenciar a lista de assinantes de e-mail.

Recurso ausente para [tipo de recurso]

Este erro indica que um recurso, como customer ou order, foi excluído antes que o fluxo de trabalho fosse capaz de buscar os dados dele. Na maioria das vezes, isso ocorre após uma etapa de espera, mas é possível que aconteça no acionador ou se o recurso for excluído muito rapidamente após a ocorrência do evento do acionador.

Receber notificação quando ocorrer um erro

Caso os erros afetem as operações da sua loja, você pode mudar suas configurações para receber notificações quando ocorrer um erro. Notificações de erro podem ser criadas como qualquer outro fluxo de trabalho usando o acionador Erro no fluxo de trabalho ocorrido. As notificações de erro foram projetadas para limitar o ruído, portanto, você receberá apenas uma notificação por versão do fluxo de trabalho.

Para começar, você pode usar um dos seguintes modelos:

Tentar de novo as execuções

Em alguns casos, a execução de um fluxo de trabalho pode encontrar um erro ou não ocorrer como previsto. Depois de solucionar os problemas e corrigir o fluxo de trabalho relacionado, é possível fazer uma nova tentativa manual das execuções anteriores para corrigir retroativamente o resultado delas. Saiba mais sobre como tentar de novo execuções do fluxo de trabalho.

Em execução (taxa limitada)

Em alguns casos, um fluxo de trabalho pode usar muitos recursos. Para evitar problemas, o Flow limitará de propósito as execuções na loja, o que pode causar atrasos e erros de tempo limite. Isso pode ser corrigido recriando fluxos de trabalho ineficientes para corrigir bugs quando eles não funcionam conforme previsto.

Execução muito longa

Esta mensagem indica que a execução de um fluxo de trabalho está demorando muito para ocorrer. Isso geralmente é causado pelo uso de uma grande quantidade de dados em um fluxo de trabalho que leva muito tempo para buscar o Flow.

Exemplo

Esses casos são geralmente causados por solicitações profundas que passam por várias listas de itens (por exemplo, a solicitação de todos os metacampos de todos os produtos em todas as coleções das quais um produto faz parte):

long running workflow example
isso também acontece com frequência com a etapa Trigger dos fluxos de trabalho.

Os fluxos de trabalho em loop em todos os metacampos geralmente podem ser melhorados ao usar apenas um metacampo específico. O acesso a várias listas aninhadas (como todos os produtos de todas as coleções de um produto) ou particularmente listas grandes (como definições de metacampos, que contém todos os metacampos de todos os objetos) pode ter sido feito sem querer, e a seleção do campo correto (o único produto ou um único metacampo em um objeto) pode melhorar significativamente a eficiência. Em outros casos, o uso de uma ação "Get Product/Order/Customer Data" ("Coletar dados de produto/pedido/cliente") com um filtro de consulta pode reduzir significativamente o número de objetos usados, mas ainda acessar os relevantes.

Processamento de muitos dados

Esta mensagem indica que as execuções de um fluxo de trabalho estão gerando excesso de dados. Isso geralmente é causado por condições complexas que verificam muitos campos, devido à verificação de campos em várias camadas de listas.

Exemplo

Por exemplo, uma condição como "For at least one tag on this customer, for at least one order line items, for at least one tag on the line item" ("Pelo menos uma tag neste cliente, por pelo menos um item de linha de pedido, por pelo menos uma tag no item de linha") pode gerar muitos dados e verificações:

too much data workflow example

Falha em novas tentativas automáticas

Esta mensagem indica que as execuções de um fluxo de trabalho estão falhando repetidamente devido a algum problema temporário, sem ter sucesso em novas tentativas. Isso geralmente ocorre quando a API Admin da Shopify ou o app de um Parceiro encontra um grande volume de solicitações.

Tudo pronto para começar a vender com a Shopify?

Experimente de graça