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

Scheduler Trigger

Saiba mais sobre o Scheduler Trigger e como usá-lo na Digibee Integration Platform.

Visão geral

O Scheduler Trigger executa um pipeline em um agendamento recorrente definido por uma expressão cron. Ele é útil quando a fonte de dados não consegue enviar dados para a Digibee via webhooks ou triggers baseados em eventos, e o pipeline precisa buscar os dados em um intervalo fixo.

O campo Cron Expression também aceita Globals, permitindo que diferentes ambientes (por exemplo, Test e Prod) executem o mesmo pipeline em agendamentos distintos sem precisar duplicar a definição do pipeline.

Variáveis do Scheduler Trigger

O Scheduler Trigger possui quatro tipos:

  • 5-Minute Scheduler: Pré-configurado para executar a cada 5 minutos.

  • 30-Minute Scheduler: Pré-configurado para executar a cada 30 minutos.

  • Midnight Scheduler: Pré-configurado para executar à meia-noite no fuso horário selecionado.

  • Custom Scheduler: Sem pré-configuração. Aceita uma expressão cron personalizada.

Parâmetros

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

Cron Expression

Expressão que define segundos, minutos, horas e a recorrência de um pipeline em dias. Aceita um valor estático ou uma Global do tipo Cron usando a sintaxe Double Braces (por exemplo, {{global.myCronExpression}}).

Para detalhes sobre o formato da expressão, consulte a documentação do Quartz Scheduler. Para construir expressões de forma interativa, utilize o CronMaker.

String

N/A

Time Zone

Fuso horário sob o qual o pipeline é executado. Se não especificado, o UTC é utilizado. Por exemplo, 12:00 UTC corresponde às 09:00 no fuso horário de São Paulo.

String

N/A

Maximum Timeout

Tempo máximo de processamento do pipeline antes de encerrar a execução, em milissegundos.

Integer

30000

Retries

Número máximo de tentativas de reexecução em caso de falha.

Integer

0

Allow Redelivery Of Messages

Quando habilitado, permite que mensagens sejam reenviadas caso o Pipeline Engine falhe.

Boolean

false

Allow Concurrent Scheduling

Quando habilitado, uma nova execução é iniciada mesmo que uma execução anterior ainda esteja em andamento.

Boolean

false

Informações adicionais dos parâmetros

Allow Concurrent Scheduling

Se um pipeline está configurado para executar a cada 3 minutos e uma execução anterior leva 4 minutos, este parâmetro determina se a próxima execução será iniciada imediatamente ou aguardará.

  • Habilitado: A próxima execução inicia no horário agendado, independentemente de a execução anterior ter sido concluída.

  • Desabilitado: A próxima execução fica em espera até que a execução anterior seja concluída.

Cron Expression com Globals

É possível referenciar uma Global no campo Cron Expression para aplicar agendamentos diferentes por ambiente usando uma única definição de pipeline. Por exemplo, o ambiente de Test pode executar a cada 5 minutos, enquanto o ambiente de Prod executa uma vez ao dia.

Como configurar

Antes de referenciar uma Global no trigger, crie uma na área de gerenciamento de Globals.

  1. Acesse a página Build na plataforma.

  2. Acesse Globals.

  3. Clique em Criar.

  4. Selecione a categoria Cron.

  5. Defina o valor da expressão cron para cada ambiente (Test, Prod).

  6. Preencha os campos restantes conforme descrito na documentação de Globals.

  7. Clique em Salvar.

Após criar a Global, abra o pipeline e acesse a configuração do trigger. No campo Cron Expression, digite {{global. e selecione a variável desejada. Apenas variáveis da categoria Cron serão listadas. Após a seleção, o campo será preenchido com {{global.global-name}}.

Note que a resolução da variável acontece no momento do deploy. Ao fazer o deploy do pipeline, o sistema valida e aplica a Global referenciada para aquele ambiente.

Scheduler Trigger em ação

Este trigger é útil quando uma fonte de dados não consegue enviar dados para a Digibee via HTTP, REST, HTTP File, Kafka, RabbitMQ ou JMS. Casos de uso comuns incluem:

  • Busca de arquivos em SFTP, FTP, Amazon S3, Google Cloud Storage e serviços similares de armazenamento de arquivos.

  • Consultas diretas a bancos de dados (neste caso, utilize o conector Stream DB com paginação).

  • Verificação do status de endpoints da Digibee Integration Platform que não suportam notificações baseadas em webhook.

Cenário: Pipeline executado a cada 30 segundos, sem sobreposição, usando uma fonte de dados estática

O exemplo a seguir mostra como configurar um Scheduler Trigger para executar um pipeline a cada 30 segundos sem sobreposição de execuções. Um timeout de 2 minutos é definido utilizando o fuso horário de São Paulo (UTC-3).

Crie um novo pipeline e configure o trigger com os seguintes valores:

  • Cron Expression: 0/30 ** ? ***

  • Time Zone: America/Sao_Paulo

  • Maximum Timeout: 120000

  • Retries: 0

  • Allow Redelivery Of Messages: desabilitado

  • Allow Concurrent Scheduling: desabilitado

Em seguida, adicione um conector JSON Generator (Mock) ao pipeline e conecte-o ao trigger. Configure-o com o seguinte JSON para que o pipeline retorne um payload estático a cada execução:

A cada execução do pipeline, o JSON configurado é retornado automaticamente.

Atualizado

Isto foi útil?