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:
- Clique na tarefa no editor de integração. O painel de configuração de tarefas aparece.
- 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:
Na seção Gerenciamento de erros, siga estas etapas:
- 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.
- 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.
- 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: Para saber como adicionar essas condições, consulte Condições de nova tentativa.$`ErrorInfo.code`$ = 404
- 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.
- Na seção Coletor de erros, adicione o coletor de erros para a integração.
- 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.
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:
- Execute uma integração.
- Se a solicitação falhar, espere 10 minutos e tente novamente.
- Se a solicitação falhar, espere 20 minutos e tente novamente.
- Se a solicitação falhar, espere 40 minutos e tente novamente.
- 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. |
|
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. |