Nesse artigo você encontrará as seguintes informações:
Usando a diretriz "Break"
Usando o módulo "Repeat"
Desvantagens
Sobre:
Este artigo descreve opções e soluções alternativas para imitar a diretriz de tratamento de erros "Repeat".
Usando a diretriz "Break"
Passo a passo:
1º passo: nas configurações avançadas do cenário ative a opção "Allow storing of Incomplete Executions".
2º passo: anexe uma rota de tratamento de erros ao módulo (consulte Introdução ao tratamento de erros).
3º passo: vincule a diretriz "Break" à rota do manipulador de erros (consulte Diretrizes para tratamento de erros) e configure-a, por exemplo, assim:
Desvantagens
O intervalo mínimo de repetição é de um minuto.
Se o módulo estiver processando vários bundles (pacotes) e o processamento de um deles falhar, a execução parcial (somente o bundle que causou o erro) é movida para a pasta "Incomplete executions" e agendada para novas tentativas, de acordo com as configurações da diretriz "Break". No entanto, a execução atual continua e o módulo continua a processar os bundles subsequentes.
Você pode habilitar a opção "Sequential processing" nas configurações do Cenário para evitar que ele seja executado novamente, até que a execução armazenada na pasta "Incomplete executions" tenha sido resolvida com sucesso.
Usando o módulo Repeat
Passo a passo:
1º passo: aplique o módulo "Repeater" e use o campo "Repeats" para definir o número máximo de tentativas.
2º passo: vincule o módulo potencialmente com falha ao módulo "Repeater".
3º passo: anexe uma rota de tratamento de erros a este módulo (consulte Introdução ao tratamento de erros).
4º passo: vincule o módulo "Tools >Sleep" à rota do manipulador de erros e no campo "Delay" defina o número de segundos entre as tentativas.
5º passo: vincule a diretriz "Ignore" após o módulo "Tools >Sleep" (consulte Diretrizes para tratamento de erros).
6º passo: vincule o módulo "Tools > Set variable" após o módulo com falha potencial e configure-o para armazenar o resultado do módulo em uma variável chamada "Result", por exemplo.
7º passo: vincule o módulo "Array aggregator" após "Tools > Set variable" e escolha o módulo "Repeater" em no campo "Source Module field".
8º passo: vincule o módulo "Tools > Get variable" ao módulo "Array aggregator" e configure-o para obter o valor da variável "Result".
9º passo: insira o módulo "Tools > Get variable" entre o módulo "Repeat" e o módulo potencialmente com falha e configure-o para obter o valor da variável "Result".
10º passo: insira um filtro entre módulo "Tools > Get variable" e o módulo com falha potencial para continuar apenas se a variável "Result" não existir.
Aqui está um exemplo de cenário em que o módulo "HTTP > Make a request" representa o módulo potencialmente com falha (você pode criar esse cenário facilmente a partir do modelo "Repeat"):
❗ Observação:
Se o resultado do módulo potencialmente com falha for muito complexo para ser armazenado em uma variável simples, você pode empregar armazenamento de dados para armazenar/recuperar o resultado. O armazenamento de dados conteria apenas um registro, a chave do registro pode ser, por exemplo, "Result".
Desvantagens
Esta solução alternativa pode parecer um pouco complexa demais e também é mais exigente em termos de operações.
Pronto! Agora você já sabe tudo sobre a diretriz de tratamento de erro retry (tentar novamente) usada no Toolzz Connect.