Scheduler Trigger

Conheça o trigger e saiba como utilizá-lo.

Micaella Mazoni avatar
Escrito por Micaella Mazoni
Atualizado há mais de uma semana

Quando um pipeline é configurado e publicado com qualquer variável do Scheduler Trigger, é criada uma função que executa o fluxo em intervalos pré-estabelecidos. Para isso, segue-se uma expressão cron, definida nas configurações desse tipo de gatilho.

Clique aqui para saber mais sobre a expressão cron.

O Scheduler Trigger possui 4 tipos. Veja quais são elas:

  • 5-Minute Scheduler: possui uma pré-configuração de 5 minutos. Quando você implanta um pipeline com essa variável, as execuções ficam programadas para cada 5 minutos.

  • 30-Minute Scheduler: possui uma pré-configuração de 30 minutos. Quando você implanta um pipeline com essa variável, as execuções ficam programadas para cada 30 minutos.

  • Midnight Scheduler: possui uma pré-configuração para ser acionada sempre à meia-noite. Quando você implanta um pipeline com essa variável, as execuções ficam programadas para meia-noite.

  • Custom Scheduler: não possui pré-configuração, permitindo que você customize uma cron expression. Quando você implanta um pipeline com essa variável, as execuções ficam programadas de acordo com a cron expression que você especificou.

IMPORTANTE: o Midnight Scheduler não permite que o Time Zone seja configurado. Dessa forma, a execução acontece à meia-noite do Time Zone UTC, que pode ser diferente do seu Time Zone. Caso seja necessário a configuração do Time Zone, você pode usar o Custom Scheduler e assim definir essas informações de recorrência à meia-noite nos seus parâmetros.

Dê uma olhada nos parâmetros de configuração do Scheduler Trigger:

  • Cron Expression: expressão que define o segundos, minutos, hora e a recorrência da execução em dias de um pipeline. Você pode obter mais informações sobre o formato das expressões clicando aqui. Mas se você deseja saber como construí-las, então clique aqui.

  • Time Zone: define sob qual Time Zone o pipeline será executado. Se nenhum Time Zone for definido, será seguido o padrão UTC (12h UTC corresponde às 9h no fuso de São Paulo, por exemplo).

  • Maximum Timeout: tempo limite para que o pipeline processe informações antes de retornar uma resposta (padrão = 30000, limite = 900000). Em milissegundos. Caso o processamento demore mais do que a determinação do parâmetro, a execução é finalizada.

  • Retries: número máximo de tentativas em caso de falha na execução.

  • Allow Redelivery Of Messages: se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine. Leia o artigo sobre o Pipeline Engine para obter mais detalhes.

  • Allow Concurrent Scheduling: indica se o pipeline deve seguir a regra, isto é, se deve iniciar a execução mesmo que existam execuções prévias em processamento. Digamos que um pipeline seja configurado para execução a cada 3 minutos. No entanto, uma das execuções anteriores levou 4 minutos para ser finalizada. Assim, temos cenários diferentes:

- se habilitado: a execução seguinte acontece simultaneamente com a atual.

- se desabilitado: a execução seguinte, além das demais, não será iniciada até que a execução anterior seja finalizada.

Scheduler Trigger em Ação

Esse trigger pode ser usado em alguns casos em que é necessário buscar dados de sistemas que não têm capacidade de enviar os dados para a Digibee utilizando HTTP, REST, HTTP File, Kafka, RabbitMQ e JMS. Alguns desses cenários são:

  • buscar arquivos em diretórios SFTP, FTP, S3, Google Cloud Storage, etc.;

  • buscar informações diretamente em bancos de dados (nesse caso, recomendamos a utilização do componente Stream DB com paginação);

  • executar chamadas de verificação de status em endpoints de Plataforma que não têm capacidade de sensibilizar os pipelines através de webhooks.

Veja a seguir como o trigger se comporta em determinada situação e a sua respectiva configuração.

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

Observe como configurar um pipeline com o Scheduler Trigger para ser executado automaticamente a cada 30 segundos sem que aconteça uma sobreposição de execuções. Também será configurado um Timeout de 2 minutos e que siga o Time Zone de São Paulo (UTC-3).

Primeiramente, crie um novo pipeline e configure o trigger. A configuração pode ser feita da seguinte forma:

Agora observe como configurar um MOCK no pipeline para que ele seja o provedor de dados que o endpoint retorna ao final. Coloque o componente indicado, conecte-o ao trigger e configure-o com o seguinte JSON:

{
"data": {
"products": [
{
"name": "Samsung 4k Q60T 55",
"price": 3278.99
},
{
"name": "Samsung galaxy S20 128GB",
"price": 3698.99
}
]
}
}

Feito isso, a cada vez que o pipeline for executado, o JSON definido como resposta será retornado automaticamente.

Após implantado, é possível ver a execução do pipeline na tela Painel > Execuções Concluídas:

Respondeu à sua pergunta?