Os cron jobs são programados em intervalos recorrentes, especificados usando um formato baseado em unix-cron. É possível definir uma programação para que o job seja executado várias vezes por dia ou em dias e meses específicos. Embora não seja mais recomendado o uso dele, a sintaxe cron do App Engine legada ainda é compatível com jobs existentes.
Formato de cron job
Uma programação é definida usando o formato de string unix-cron (* * * * *
), que é um
conjunto de cinco campos em uma linha, indicando quando o job precisa ser executado.
Para isso, use o Console do Google Cloud, a CLI do Google Cloud ou a API REST do Cloud Scheduler.
Os campos de horário têm o seguinte formato e possíveis valores e precisam seguir esta ordem:
Campo | Valores válidos |
---|---|
Minuto | 0-59 |
Hora | 0-23 |
dia do mês | 1-31 |
Mês | 1-12 (ou JAN a DEC) |
Dia da semana | 0 a 6 (ou domingo a sábado ou 7 para domingo) |
Caracteres especiais
- Um campo pode conter um asterisco (
*
), que sempre representa "first-last". - Os intervalos são dois números separados por um hífen (
-
), e o intervalo especificado é inclusivo. - Seguir um intervalo com
/NUMBER
especifica"pular"o valor do número pelo intervalo. Por exemplo,0-23/2
e*/2
podem ser usados no campoHour
para especificar a execução a cada duas horas. - Uma lista é um conjunto de números (ou intervalos) separados por vírgulas (
,
). Por exemplo,1,2,5,6
no campoDay of the month
especifica uma execução no primeiro, segundo, quinto e sexto dias do mês.
Fuso horário
Selecione o fuso horário para avaliar a programação no Console do Google Cloud (na página Criar um job, selecione um Fuso horário na lista) ou use a sinalização gcloud
--time-zone
ao
criar o job. O fuso horário padrão é Etc/UTC
.
Em alguns fusos horários, o horário de verão pode causar a execução inesperada de jobs. Isso ocorre porque o Cloud Scheduler é executado no horário do relógio fixo. Nos casos em que um horário pode ocorrer duas vezes (como quando os relógios voltam para trás) e o job é programado nesse momento, o job programado pode observar anomalias de execução.
Se o job exigir uma cadência muito específica, considere escolher um fuso horário que não observe o horário de verão. Especificamente, o UTC é recomendado para o Cloud Scheduler evitar o problema completamente.
Exemplos de programação
A tabela a seguir mostra alguns exemplos de programações de cron jobs e a descrição deles:
Exemplo de programação | Formato de cron job |
---|---|
A cada minuto | * * * * * |
Todo sábado às 23h45 | 45 23 * * 6 |
Todas as segundas-feiras às 9h (9h) | 0 9 * * 1 |
Todos os domingos às 4h05 (4h05) | 5 4 * * SUN |
Todos os dias da semana (seg-sex) às 22h (22h) | 0 22 * * 1-5 |