Parallel Execution
Descubra mais sobre o componente Parallel Execution e saiba como utilizá-lo na Digibee Integration Platform.
O Parallel Execution permite a configuração de linhas de execução paralelas dentro do fluxo do pipeline.
Parâmetros
Esse componente tem duas etapas de configuração: a dos parâmetros que definem o comportamento geral das execuções e a dos parâmetros específicos das linhas de execuções.
Componente
Dê uma olhada nos parâmetros de configuração do componente:
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Aggregation Type | Poderá ser configurado como SUMMARY ou COLLATE; veja mais abaixo. | COLLATE | String |
Show Execution IDs | Caso seja habilitada, a propriedade fará com que o ID de cada linha de execução seja informado no resultado. | True | Booleano |
Report Exceptions | Caso seja habilitada, a propriedade fará com que quaisquer exceções sejam informadas no resultado; veja mais abaixo. | True | Booleano |
Linhas de execuções
Agora dê uma olhada nos parâmetros de configuração das linhas de execuções:
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Description | A propriedade pode ser utilizada para documentar as linhas de execuções, pois ela se torna o texto apresentado em cada linha no pipeline canvas. | N/A | N/A |
Execution ID | Define o ID de cada uma das execuções paralelas. | N/A | N/A |
Fluxo de mensagens
Entrada
Não espera nenhum payload específico na entrada desse componente. No entanto, a entrada será informada a cada linha de execução paralela.
Saída
Saída com Aggregation Type = SUMMARY
Neste caso, somente um sumário sobre cada invocação paralela será exibido:
Um sumário será informado no final da execução de todas as linhas paralelas. Para que a linha de execução seja considerada como "success"
, uma propriedade "success"
com o valor “true”
deverá ser informada no final da execução.
Saída com Aggregation Type = COLLATE e Show Execution ID = verdadeiro
Neste caso, o resultado de cada execução estará disponível como um item do array identificado com a propriedade executionId
, que define o caminho percorrido por aquela execução e “result”
contendo o resultado dela.
Saída com Aggregation Type = COLLATE e Show Execution ID = falso
Neste caso, o resultado de cada execução será informado como um item do array sem a discriminação de qual caminho foi percorrido.
Saída com erro e Report Exceptions = verdadeiro
Este caso só tem relevância quando usado com Aggregation Type = COLLATE.
Caso um erro aconteça durante a execução da linha paralela p-b, o erro será informado na saída:
Saída com erro e Report Exceptions = falso
Este caso só tem relevância quando usado com Aggregation Type = COLLATE.
Caso um erro aconteça durante a execução da linha paralela p-b, null
será informado como resultado:
Parallel Execution em ação
Veja abaixo como o componente se comporta em determinadas situações e as suas respectivas configurações.
Unindo o resultado das execuções paralelas
Para unir o resultado das execuções paralelas, é importante configurar o componente Parallel Execution dentro de um Block Execution. Ao final do Block Execution, todas as execuções paralelas serão sincronizadas e o resultado será conforme a configuração Aggregation Type.
Parallel Execution é utilizado no fluxo principal do pipeline
Caso o componente seja utilizado no fluxo principal do pipeline, então as linhas de execução paralelas serão "unidas" ao final da execução do pipeline e o mesmo será terminado com o resultado conforme a configuração Aggregation Type.
Parallel Execution é utilizado dentro de outro Parallel Execution
Neste caso, novas linhas de execução paralelas serão iniciadas e "unidas" ao fim da linha de execução paralela que continha o Parallel Execution mais interno. O Parallel Execution mais externo somente unirá as suas respectivas linhas quando as mais internas finalizarem.
Atualizado