Quando um pipeline é configurado e publicado com o Custom 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 Custom Scheduler Trigger possui 4 variáveis. 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 customizada. 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 ID seja configurado. Dessa forma, a execução acontece à meia-noite do Time Zone UTC, que pode ser diferente do seu Time Zone.

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

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

- TRUE: a execução seguinte acontece simultaneamente com a atual. As execuções podem encavalar, o que resulta em gasto da memória alocada para o pipeline quando “n” threads ocorrem em paralelo.

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

Exemplo:

{
"concurrentScheduling": false
}

  • Time Zone ID: define sob qual timeZone o pipeline será executado. Se nenhum timeZone foi definido, será seguido o padrão UTC (12h UTC == 9h no fuso de São Paulo, por exemplo).
{
"timeZoneId": "America/Sao_Paulo"
}

Veja outros Time Zone IDs:

"timeZoneId" Horas/Minutos

"Brazil/Acre" (UTC-05:00)

"Brazil/West" (UTC-04:00

"America/Sao_Paulo" (UTC-03:00)

"Canada/Atlantic" (UTC-03:00)

"America/Buenos_Aires" (UTC-03:00)

"Europe/Sofia" (UTC+03:00)

"America/Los_Angeles" (UTC-07:00)

Clique aqui para ter acesso a uma lista completa.

  • Retries: número de vezes que o trigger tentará a ativação em caso de erros na execução.
  • Cron Expression: expressão que define o dia, a hora e a recorrência da execução de um pipeline.

Exemplo para a execução de um pipeline a cada 5 minutos:

{
"cronExpression": "0 */5 * ? * *"
}

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.

  • Payload: se o trigger precisa de algum payload para rodar, você pode definir um payload de JSON
  • Type: tipo de trigger
  • Name: nome do trigger
  • Timeout: tempo limite para que o fluxo em processamento retorne alguma resposta (em milissegundos - padrão: 60000; limite: 300000)

Exemplo:

{
"timeout": "300000"
}

Custom Scheduler Trigger em Ação

Digamos que você deseje ativar a execução de um pipeline a cada 30 minutos, sem que haja encavalamento, com um Timeout de 2 minutos e que siga o Time Zone de São Paulo (UTC-3).

{
"cronExpression": "0/30 * * ? * * *",
"concurrentScheduling": false,
"timeout": "120000",
"timeZoneId": "America/Sao_Paulo"
}

Encontrou sua resposta?