Pipeline Executor
Saiba mais sobre o conector Pipeline Executor e como usá-lo na Digibee Integration Platform.
O conector Pipeline Executor faz chamadas síncronas ou assíncronas para outros pipelines que já estão implantados. Use a abordagem síncrona quando você precisar do resultado do pipeline chamado, ou a abordagem assíncrona quando não precisar esperar por ele.
Parâmetros
A tabela abaixo lista todos os parâmetros de configuração do conector. Os parâmetros que suportam expressões Double Braces são marcados com ✅ na coluna Suporta DB.
Operation
SYNC para chamadas síncronas ao pipeline e ASYNC para chamadas assíncronas ao pipeline.
Select
❌
SYNC
Pipeline Name
Nome do pipeline a ser chamado.
String
✅
N/A
Version Major
Versão major do pipeline a ser chamado.
Integer
✅
1
Payload
Payload a ser enviado quando o pipeline for chamado.
Any
✅
{{ message.body }}
Timeout
Tempo máximo permitido para o ciclo completo de uma chamada síncrona, desde o momento em que a mensagem é publicada até o momento em que a resposta retorna ao pipeline de origem (em milissegundos). Isso inclui qualquer tempo que a mensagem passe na fila, não apenas o tempo de execução do pipeline chamado.
Integer
✅
20000
Expiration
Tempo que a mensagem permanece na fila enquanto tenta executar o pipeline (em milissegundos).
Integer
✅
30000
Fail On Error
Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Se desabilitado, a execução continua, mas a propriedade "success" será definida como false.
Boolean
❌
false
Documentation
Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.
String
❌
N/A
Entendendo o timeout no Pipeline Executor
Como o timeout é calculado
Em uma chamada síncrona, o valor de Timeout não mede apenas quanto tempo o pipeline chamado leva para executar. Ele mede todo o ciclo da mensagem:
O pipeline de origem envia a mensagem.
A mensagem espera na fila do pipeline chamada.
O pipeline chamado processa a mensagem.
A resposta volta para a fila do pipeline de origem.
O pipeline de origem recebe a resposta e continua.
O tempo de fila conta para o timeout nos dois sentidos. Se houver mensagens na frente da sua na fila, esse tempo de espera é somado ao total, mesmo que o pipeline execute rápido depois de iniciar.
Configure o Timeout com um valor alto o suficiente para cobrir os atrasos de fila esperados no pipeline chamado, não apenas o tempo de execução típico dele.
Timeout do trigger versus timeout do Pipeline Executor
Um pipeline pode ser iniciado de mais de uma forma, e cada forma pode ter seu próprio timeout:
Quando um pipeline é iniciado por uma chamada externa através do seu trigger, o timeout configurado no trigger é aplicado.
Quando um pipeline é iniciado por outro pipeline através do Pipeline Executor, o timeout do trigger é ignorado. O Timeout configurado no conector Pipeline Executor é aplicado no lugar.
Por exemplo, um pipeline pode ter um timeout de trigger de 10 segundos para chamadas de API externas, enquanto um timeout de Pipeline Executor de 1 segundo se aplica quando esse mesmo pipeline é chamado internamente por outro pipeline. Os dois valores são independentes, e apenas o timeout relevante para a forma como o pipeline foi iniciado entra em vigor.
Configuração recomendada para evitar timeout
Ao implantar pipelines com Pipeline Executor, use a mesma configuração de execução concorrente nas pipelines de origem e de destino, especialmente quando o parâmetro Operation estiver definido como SYNC. Uma incompatibilidade de concorrência entre as duas pipelines, ou uma pipeline de destino que também recebe alto volume de tráfego externo, é uma causa comum de erros de enqueue e timeout, mesmo quando a pipeline de destino é executada com sucesso.
Se você já encontrou esse erro em um pipeline em execução, leia Timeout no conector Pipeline Executor para conhecer as causas comuns e a correção.
Fluxo de mensagens
Entrada
Este conector não espera um payload específico como entrada. A entrada é configurada dinamicamente no campo Payload, de acordo com as necessidades do pipeline a ser chamado.
Saída
operation: a operação selecionada, SYNC ou ASYNC.pipelineName: nome da pipeline chamada.versionMajor: versão major da pipeline chamada.success: indica se a chamada foi bem-sucedida.payload: payload usado para chamar a pipeline configurada.pipelineResponse: resposta da pipeline executada. Essa propriedade é retornada apenas na operação SYNC.
Pipeline Executor em ação
Veja abaixo como o conector se comporta em determinadas situações e como ele é configurado em cada caso.
Fazendo uma chamada assíncrona
Operation:
ASYNCPipeline Name: nome do pipeline a ser chamado
Version Major:
1Payload:
{}Timeout:
20000Expiration:
30000Fail On Error:
false
Nesse cenário, uma chamada assíncrona é feita para o pipeline configurado, e o fluxo atual continua normalmente sem esperar pela resposta do pipeline chamado. Você pode ver os logs de execução e de chamada desse pipeline na tela de logs da plataforma.
Saída:
Fazendo uma chamada síncrona
Operation:
SYNCPipeline Name: nome do pipeline a ser chamado
Version Major:
1Payload:
{}Timeout:
20000Expiration:
30000Fail On Error:
false
Saída:
Atualizado
Isto foi útil?