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:

{"success": true}

Caso o atributo “Data de Nascimento” esteja vazio, o componente JSON Generator (Falha) retorna o atributo com valor “false”:

{"success": 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.

Para saber mais, leia o artigo Pipeline.

Last updated