For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Parâmetro
Descrição
Tipo
Suporta DB
Valor padrão

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

Parâmetro
Descrição
Tipo de dado
Suporta DB
Valor padrão

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:

  1. O pipeline de origem envia a mensagem.

  2. A mensagem espera na fila do pipeline chamada.

  3. O pipeline chamado processa a mensagem.

  4. A resposta volta para a fila do pipeline de origem.

  5. 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.

Mesmo que o pipeline chamado responda em menos de um segundo, o pipeline de origem ainda pode sofrer timeout se os atrasos na fila fizerem o ciclo completo durar mais do que o valor configurado em Timeout.

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: ASYNC

  • Pipeline Name: nome do pipeline a ser chamado

  • Version Major: 1

  • Payload: {}

  • Timeout: 20000

  • Expiration: 30000

  • Fail 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: SYNC

  • Pipeline Name: nome do pipeline a ser chamado

  • Version Major: 1

  • Payload: {}

  • Timeout: 20000

  • Expiration: 30000

  • Fail On Error: false

Saída:

Atualizado

Isto foi útil?