Subpipelines
Aprenda mais sobre o que são subpipelines e como eles se conectam ao fluxo principal na Digibee Integration Platform.
Para acessar os subpipelines e usar as funcionalidades presentes nesse artigo, você precisa ter a permissão PIPELINE:CREATE. Aprenda mais na documentação sobre Papéis.
Subpipelines são subfluxos do pipeline necessariamente vinculados e disparados por um componente do fluxo principal, por exemplo, o For Each.
Vamos imaginar um processo chamado “Validação de Dados de Cliente”. Esse processo obtém os dados dos clientes através do endpoint REST e então verifica se cada registro de cliente possui os dados necessários.
Para iterar pela coleção de registros, usaremos o componente For Each (Processa clientes).
Toda vez que um componente com capacidade de iterar por coleções é adicionado a um pipeline, dois subpipelines são criados: OnProcess e OnException.
OnProcess
Este subpipeline implementa o subfluxo que processa cada item da coleção. Ele tem seu próprio canvas, que pode ser acessado pelo menu do componente:
No caso do processo “Validação de Dados de Cliente”, o subpipeline OnProcess trata todos os registros da coleção de clientes individualmente e verifica se o atributo “Data de Nascimento” está preenchido em cada um deles:
Ao término de cada execução do subpipeline OnProcess, um atributo success é retornado, indicando se houve sucesso ou falha na execução. Por padrão, esse atributo é retornado com valor “false”
. Assim, você precisa informar explicitamente quando a execução ocorrer conforme esperado.
No processo “Validação de Dados de Cliente”, a seguinte resposta de sucesso será retornada pelo componente JSON Generator (Sucesso) quando o atributo “Data de Nascimento” estiver preenchido:
Caso o atributo “Data de Nascimento” esteja vazio, o componente JSON Generator (Falha) retorna o atributo com valor “false”
:
Nesse caso, é gerada uma exceção através do componente Assert (Erro Interno):
O atributo Fail On Error indica que a execução do fluxo do pipeline será interrompida e será lançada uma exceção caso a condição do componente Assert não for validada.
Quando a exceção é gerada por um componente de um subpipeline, a execução do subpipeline OnException é iniciada. Por outro lado, se a exceção decorrer de um componente do fluxo principal, a execução do pipeline será interrompida por erro.
OnException
Este subpipeline implementa o fluxo que trata uma exceção na execução do subpipeline OnProcess. Ele tem seu próprio canvas, que pode ser acessado pelo menu do componente:
Quando o OnException é executado no processo “Validação de Dados de Cliente”, uma chamada é feita a um endpoint REST, registrando o incidente e gerando uma mensagem de erro na página Pipeline logs.
A utilização do OnException é opcional, no entanto, é uma prática fortemente recomendada. Diversos componentes da Digibee Integration Platform suportam o atributo Fail On Error e permitem que estratégias de tratamento de erro e recuperação sejam implementadas através do OnException, tornando o pipeline muito mais robusto e resiliente.
Atualizado