Consulte os conetores suportados para a solução Application Integration.
Estratégias de processamento de erros para tarefas
A estratégia de processamento de erros de uma tarefa especifica a ação a realizar se a tarefa falhar devido a um erro temporário.
Configure estratégias de processamento de erros
Para configurar uma estratégia de processamento de erros para uma tarefa, siga estes passos:
- Clique na tarefa existente no editor de integração. É apresentado o painel de configuração da tarefa.
- No painel de configuração da tarefa, expanda a secção Processamento de erros. A imagem seguinte mostra a secção Processamento de erros:
        Na secção Processamento de erros, siga estes passos: - Para adicionar uma nova política de falhas, clique em + Adicionar política de falhas. Se estiverem configuradas várias políticas de falha condicional, estas são verificadas e correspondidas por ordem.
      - No campo Estratégia de repetição, selecione a estratégia de processamento de erros que quer usar. Para ver uma lista de estratégias, consulte Estratégias de repetição.
- No campo Condição de nova tentativa, introduza a condição que tem de corresponder ao erro para que esta estratégia de erro seja executada. Por exemplo, para uma tarefa Call REST Endpoint, para executar a estratégia de erro se o código de erro corresponder a 404, introduza o seguinte:$`ErrorInfo.code`$ = 404 
 
- Na secção Política de erros predefinida, adicione a política predefinida que tem de ser aplicada se nenhuma política de falhas condicional corresponder. A política de falha predefinida é opcional.
- Na secção Captador de erros, adicione o captador de erros para a sua integração.
 
- Para adicionar uma nova política de falhas, clique em + Adicionar política de falhas. Se estiverem configuradas várias políticas de falha condicional, estas são verificadas e correspondidas por ordem.
      
Para obter informações sobre códigos de erro e processamento de erros, consulte o artigo Processamento de erros.
Estratégias de repetição
As tabelas seguintes descrevem as diferentes estratégias de processamento de erros que pode usar para uma tarefa:
| Tipo de estratégia | Descrição | 
|---|---|
| Fatal | Interrompe a execução de toda a integração e marca o estado de execução como Falhou. | 
| Ignorar | Ignora a falha da tarefa. A integração continua a executar as tarefas seguintes, partindo do princípio de que a tarefa com falha foi bem-sucedida. | 
| Nenhum | Interrompe a execução da tarefa e marca o estado da integração como Falhou. Se existir um caminho alternativo para a tarefa final (tarefa folha), as tarefas no caminho alternativo são executadas. Se todas as tarefas no caminho alternativo forem executadas com êxito, marca o estado da integração como Succeeded. | 
| Reinicie a integração com recuo | Executa toda a integração a partir da primeira tarefa. No entanto, a tarefa pode falhar novamente. Para evitar falhas repetidas, especifique o intervalo de tempo entre reinícios no campo Intervalo de repetição (em segundos) e o número de tentativas de reinício permitidas no campo Número máximo de tentativas. | 
| Tente novamente a tarefa com retirada 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 tentativa aumenta à potência de 2. Existe um atraso de 1 a 5 segundos que é adicionado ao tempo de recuo. Por exemplo, se o intervalo de repetição especificado for de 3 segundos, a primeira repetição ocorre após 3 segundos. A segunda nova tentativa ocorre após 9 segundos, a terceira nova tentativa após 81 segundos e assim sucessivamente. O processo continua até atingir o número máximo de novas tentativas ou a tarefa ser bem-sucedida, consoante o que ocorrer primeiro. | 
| Tentar novamente a 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 tentativa permanece constante. Por exemplo, se o intervalo de repetição especificado for de 3 segundos, as repetições ocorrem a cada 3 segundos. O processo continua até atingir o número máximo de novas tentativas ou a tarefa ser bem-sucedida, consoante o que ocorrer primeiro. | 
| Tente novamente a tarefa com retirada 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 tentativa aumenta linearmente. Existe um atraso de 1 a 5 segundos que é adicionado ao tempo de recuo. Por exemplo, se o intervalo de repetição especificado for de 3 segundos, a primeira repetição ocorre após 3 segundos. A segunda nova tentativa ocorre após 6 segundos, a terceira nova tentativa após 9 segundos e assim sucessivamente. O processo continua até atingir o número máximo de novas tentativas ou a tarefa ser bem-sucedida, consoante o que ocorrer primeiro. | 
Novas tentativas de retirada
O limite de simultaneidade predefinido está definido como 50 execuções para cada projeto e região. As execuções falhadas são colocadas em fila e repetidas através de um algoritmo de retirada exponencial, que aumenta gradualmente o tempo de espera entre repetições até 10 vezes. Por exemplo:
- Executar uma integração.
- Se o pedido falhar, aguarda 10 minutos e tenta novamente o pedido.
- Se o pedido falhar, aguarda 20 minutos e tenta novamente o pedido.
- Se o pedido falhar, aguarda 40 minutos e tenta novamente o pedido.
- E assim sucessivamente, até um máximo de 10 novas tentativas de recuo.
Condições de repetição
A condição de nova tentativa especifica a condição que tem de corresponder para que a estratégia de processamento de erros seja executada. A tabela seguinte descreve os operadores e as funções suportados que pode usar na condição de nova tentativa:
Operadores suportados
A tabela seguinte descreve os operadores suportados disponíveis para utilização em condições de repetição.
| Operador | Descrição | Exemplo | 
| = | Verifica a igualdade entre dois valores | $var$ = "value" | 
| != | Verifica a desigualdade entre dois valores | $var$ != "value" | 
| < | Verifica se um valor é inferior a outro valor | 5 < 10 | 
| <= | Verifica se um valor é inferior ou igual a outro valor | $var$ <= 5 | 
| > | Verifica se um valor é superior a outro valor | 1 > 0 | 
| >= | Verifica se um valor é maior ou igual a outro valor | $var$ >= 0 | 
| : | Verifica se uma string contém uma substring ou se uma lista contém um valor primitivo específico. | 
 
 | 
| E | Verifica duas expressões e devolve o valor true se ambas as expressões forem avaliadas como true. | $a$ > $b$ AND $b$ < $c$ | 
| OU | Verifica duas expressões e devolve o valor 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 suportadas
A tabela seguinte descreve as funções suportadas disponíveis para utilização em condições de repetição.
| Função | Descrição | 
| exists(VARIABLE) | Verifica se existe uma determinada variável | 
| does_not_exist(VARIABLE) | Verifica se uma determinada variável não existe | 
| is_empty(VARIABLE) | Verifica se uma determinada variável é uma lista E está vazia. Suporta o tipo de variável de matriz, exceto a matriz JSON. | 
| is_not_empty(VARIABLE) | Verifica se uma determinada variável é uma lista E não está vazia. Suporta o tipo de variável de matriz, exceto a matriz JSON. |