Consulte os conectores compatíveis com a integração de aplicativos.

Estratégias de tratamento de erros para tarefas

A estratégia de solução de erros para uma tarefa especifica a ação a ser realizada se a tarefa falhar devido a um erro temporário.

Configurar estratégias de tratamento de erros

Para configurar uma estratégia de tratamento de erros para uma tarefa, siga estas etapas:

  1. Clique na tarefa no editor de integração. O painel de configuração de tarefas aparece.
  2. No painel de configuração da tarefa, expanda a seção Tratamento de erros. A imagem a seguir mostra a seção Gerenciamento de erros:

    Estratégia de solução de erros Estratégia de solução de erros

    Na seção Gerenciamento de erros, siga estas etapas:

    1. Para adicionar uma nova política de falha, clique em + Adicionar política de falha. Se várias políticas de falha condicional estiverem configuradas, elas serão verificadas e correspondidas em ordem.
      1. No campo Estratégia de nova tentativa, selecione a estratégia de tratamento de erros que você quer usar. Para conferir uma lista de estratégias, consulte Estratégias de repetição.
      2. No campo Condição de repetição, insira a condição que precisa corresponder ao erro para que essa estratégia seja executada. Por exemplo, para uma tarefa de chamada de endpoint REST, para executar a estratégia de erro se o código de erro corresponder a 404, insira o seguinte:
        $`ErrorInfo.code`$ = 404
        Para saber como adicionar essas condições, consulte Condições de nova tentativa.
    2. Na seção Política de erro padrão, adicione a política padrão que será aplicada se nenhuma política de falha condicional corresponder. A política de falha padrão é opcional.
    3. Na seção Coletor de erros, adicione o coletor de erros para a integração.

Para mais informações sobre códigos e tratamento de erros, consulte Tratamento de erros.

Estratégias de nova tentativa

As tabelas a seguir descrevem as diferentes estratégias de tratamento de erros que podem ser usadas para uma tarefa:

Tipo de estratégia Descrição
Fatal Para a execução de toda a integração e marca o status da execução como Falha.
Ignorar Ignora a falha da tarefa. A integração continua a executar as próximas tarefas supondo que a tarefa com falha foi bem-sucedida.
Nenhum Interrompe a execução da tarefa e marca o status da integração como Falha. Se houver um caminho alternativo para a tarefa final (tarefa de folha), as tarefas no caminho alternativo serão executadas. Se todas as tarefas no caminho alternativo forem executadas sem problemas, o status da integração será Concluída.
Reiniciar a integração com espera Executa toda a integração da primeira tarefa. No entanto, a tarefa poderá falhar novamente. Para evitar falhas de repetição, especifique o intervalo de tempo entre as reinicializações no campo "Intervalo entre novas tentativas" (em segundos) e defina o número de tentativas de reinicialização permitidas no campo "Número máximo de novas tentativas".
Repetir a tarefa com espera exponencial Executa a integração a partir da tarefa com falha. Se a tarefa falhar durante uma nova tentativa, o intervalo de tempo entre cada nova tentativa aumentará na potência de 2. Há um atraso de 1 a 5 segundos adicionado ao tempo de espera.

Por exemplo, se o intervalo de nova tentativa especificado for 3 segundos, a primeira tentativa nova será feita após 3 segundos. A segunda nova tentativa será feita após 9 segundos, a terceira após 81 segundos e assim por diante. O processo continuará até que o número máximo de tentativas seja atingido ou a tarefa seja bem-sucedida, o que ocorrer primeiro.

Repetir tarefa com intervalo fixo Executa a integração a partir da tarefa com falha. Se a tarefa falhar durante uma nova tentativa, o intervalo de tempo entre cada nova tentativa permanecerá constante.

Por exemplo, se o intervalo de repetição especificado for de 3 segundos, as novas tentativas ocorrerão a cada 3 segundos. O processo continuará até que o número máximo de tentativas seja atingido ou a tarefa seja bem-sucedida, o que ocorrer primeiro.

Repetir tarefa com espera linear Executa a integração a partir da tarefa com falha. Se a tarefa falhar durante uma nova tentativa, o intervalo de tempo entre cada nova tentativa aumentará linearmente. Há um atraso de 1 a 5 segundos adicionado ao tempo de espera.

Por exemplo, se o intervalo de nova tentativa especificado for 3 segundos, a primeira tentativa nova será feita após 3 segundos. A segunda nova tentativa ocorrerá após 6 segundos, a terceira, após 9 segundos e assim por diante. O processo continuará até que o número máximo de tentativas seja atingido ou a tarefa seja bem-sucedida, o que ocorrer primeiro.

Novas tentativas de espera

O limite de simultaneidade padrão é definido como 50 execuções para cada projeto e região. As execuções com falha são enfileiradas e repetidas com um algoritmo de espera exponencial, que aumenta gradualmente o tempo de espera entre novas tentativas em até 10 vezes. Por exemplo:

  1. Execute uma integração.
  2. Se a solicitação falhar, espere 10 minutos e tente novamente.
  3. Se a solicitação falhar, espere 20 minutos e tente novamente.
  4. Se a solicitação falhar, espere 40 minutos e tente novamente.
  5. E assim por diante, até um máximo de 10 tentativas de espera.

Condições de repetição

A condição de nova tentativa especifica a condição que precisa ser atendida para que a estratégia de tratamento de erros seja executada. A tabela a seguir descreve os operadores e as funções compatíveis que podem ser usados na condição de nova tentativa:

Operadores compatíveis

A tabela a seguir descreve os operadores compatíveis disponíveis para uso em condições de nova tentativa.

Operador Descrição Exemplo
= Verifica a igualdade entre dois valores $var$ = "value"
!= Verifica a desigualdade entre dois valores $var$ != "value"
< Verifica se um valor é menor que outro 5 < 10
<= Verifica se um valor é menor ou igual a outro valor $var$ <= 5
> Verifica se um valor é maior que outro 1 > 0
>= Verifica se um valor é maior ou igual a outro valor $var$ >= 0
: Verifica se uma string contém uma substring nela ou se uma lista contém um valor primitivo específico.

$longString$ : "substring"

$list of values$ : "value"

AND Verifica duas expressões e retorna verdadeiro se ambas as expressões forem avaliadas como verdadeiras. $a$ > $b$ AND $b$ < $c$
OU Verifica duas expressões e retorna verdadeiro se qualquer uma das expressões for avaliada como verdadeira. $a$ > $b$ OR $b$ < $c$
NOT Operador de negação. Inverte o resultado de uma expressão. NOT($var$ = "value")

Funções compatíveis

A tabela a seguir descreve as funções compatíveis disponíveis para uso em condições de nova tentativa.

Função Descrição
exists(VARIABLE) Verifica se uma determinada variável existe
does_not_exist(VARIABLE) Verifica se uma determinada variável não existe
is_empty(VARIABLE) Verifica se uma determinada variável é uma lista AND está vazia. Suporta o tipo de variável de matriz, exceto matriz JSON.
is_not_empty(VARIABLE) Verifica se uma determinada variável é uma lista AND não está vazia. Suporta o tipo de variável de matriz, exceto matriz JSON.