Retry
Descubra mais sobre o componente Retry e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
Isto foi útil?
Descubra mais sobre o componente Retry e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
Isto foi útil?
O Retry permite novas tentativas de execução de passos definidos em um subpipeline.
Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por estão marcados com (DB)
.
Maximum Number of Retries
Número máximo de tentativas. A primeira tentativa também conta, então se o passo falhar na primeira execução e você deseja que seja feita uma nova tentativa, o valor nesse parâmetro deve ser igual a 2.
3
Inteiro
Timeout Of The Whole Retry Operation
Duração máxima da soma de todas as tentativas, incluindo a primeira (em milissegundos).
30000
Inteiro
Fail On Error
se a opção for ativada, a execução do Retry que atingir o número máximo de tentativas ou a duração máxima, terminará com erro e será interrompida; do contrário, a execução do pipeline continua, mas o resultado da última tentativa será entregue ao próximo componente.
False
Booleano
Para trabalhar com esse tipo de componente, é importante levar em consideração:
Subpipeline definido em onProcess: subpipeline a ser executado a cada nova tentativa.
Subpipeline definido em onException: subpipeline a ser executado sempre que uma tentativa resultar em falha.
Para entender melhor o funcionamento de subpipelines, leia a .
A cada nova tentativa, o primeiro passo do subpipeline definido em onProcess recebe a mensagem de saída do último passo processado. Portanto, dados a serem reutilizados nas novas tentativas devem ser devidamente tratados para que possam ser acessíveis durante as novas tentativas (exemplo.: manipulação dos dados através de componentes Session).
O Retry espera que uma propriedade success
com o valor true
seja informada no último passo do subpipeline para que a execução seja considerada bem sucedida. Se um erro ocorrer ou se a propriedade success
for informada com o valor false
ou for inexistente, o Retry entenderá que uma nova tentativa deverá ser executada.
Qualquer estrutura é aceita.
Mensagem de saída do último passo processado.
Quando um erro ocorre durante o processamento do subpipeline em onProcess, o subpipeline em onException será invocado se estiver definido.
No onException, é possível:
ter acesso aos detalhes do erro que ocorreu durante o processamento da última tentativa.
definir se o Retry continua as tentativas, informando uma propriedade success
com o valor false
ou não a definindo. Caso a propriedade success
seja especificada com o valor true
, então o Retry será finalizado com sucesso e nenhuma outra tentativa será executada.
o pipeline será interrompido após todas as tentativas;
um erro será emitido a partir do componente Retry;
nenhum outro componente será invocado após o Retry.
o pipeline será interrompido após todas as tentativas;
o subpipeline definido em onException será executado após cada tentativa;
um erro será emitido a partir do componente Retry;
nenhum outro componente será invocado após o Retry.
o pipeline não será interrompido após todas as tentativas;
nenhum erro será emitido a partir do componente Retry;
o próximo componente será invocado recebendo a mensagem de saída do Retry.
o pipeline não será interrompido após todas as tentativas;
o subpipeline definido em onException será executado após cada tentativa;
nenhum erro será emitido a partir do componente Retry;
o próximo componente será invocado recebendo a mensagem de saída do Retry.
Caso um componente de erro (como Throw Error ou Assert) seja utilizado dentro do subpipeline em onProcess ou um erro ocorra, então o Retry será finalizado e o erro será propagado para o pipeline. Além disso, sempre que a propriedade success
for definida com valor true
no último passo do subpipeline em onException, a execução do componente Retry também será concluída, independentemente da propriedade Fail on Error estar ativa.