Com o Cloud Scheduler, é possível definir a execução de unidades programadas de trabalho em horários definidos ou em intervalos regulares. Essas unidades são conhecidas como cron jobs. Os casos de uso típicos incluem o envio de relatórios diários por e-mail, a atualização a cada 10 minutos de dados armazenados em cache ou a atualização de informações de resumo a cada hora.
Cada cron job criado usando o Cloud Scheduler é enviado para um destino de acordo com uma programação especificada para que a tarefa seja realizada. O destino precisa ser de um destes tipos:
- pontos de extremidade HTTP/S
- Tópicos do Pub/Sub
- Aplicativos App Engine HTTP/S
O Cloud Scheduler foi projetado para fornecer a entrega "pelo menos uma vez", ou seja, o job será executado pelo menos uma vez por execução programada. Em algumas circunstâncias raras, é possível que um job seja executado várias vezes em associação a uma única instância da programação. Portanto, o código precisa garantir que não haja efeitos colaterais prejudiciais pela execução repetida. Seus destinos precisam ser idempotentes.
É possível criar cron jobs usando o console do Cloud ou a ferramenta de linha de comando gcloud.
Regiões com suporte por segmentação
Se o destino for um endpoint HTTP/S ou um tópico do Pub/Sub, o Cloud Scheduler estará disponível em todas as regiões do Google Cloud com suporte para o Cloud Scheduler.
Se o destino for um aplicativo do App Engine localizado no seu projeto atual:
Um job do Cloud Scheduler com destino ao App Engine só pode ser criado na região do App Engine do projeto.
Um projeto do Google Cloud pode conter apenas um aplicativo do App Engine, e a região em que o aplicativo está localizado não pode ser alterada depois que o aplicativo é criado.
O App Engine é regional, o que significa que a infraestrutura que executa seu app está localizada em uma região específica. Se você quiser distribuir computação e jobs em várias regiões, segmente um endpoint HTTP/S ou um tópico do Pub/Sub.
Se você não estiver usando o App Engine como destino, não será necessário implantar um app do App Engine e poderá desativar qualquer app do App Engine existente.
Política de repetição de jobs
Se um job do Cloud Scheduler não for concluído e um confirmação não for recebida do gerenciador de jobs, ele será tentado novamente com uma espera exponencial de acordo com a política de repetição configurada.
É possível configurar as configurações que determinam o comportamento de nova tentativa. Para ver mais informações, consulte RetryConfig
.