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 podem incluir o envio diário de um relatório por e-mail, a atualização dos dados armazenados em cache a cada 10 minutos ou a atualização das informações de resumo a cada hora.
Cada cron job criado com o Cloud Scheduler é enviado para um destino de acordo com uma programação especificada em que o trabalho da tarefa é realizado. O destino precisa ser um dos seguintes tipos:
- pontos de extremidade HTTP/S
- Tópicos do Pub/Sub
- Aplicativos HTTP/S do App Engine
O Cloud Scheduler foi projetado para fornecer entrega "pelo menos uma vez", ou seja, o job será executado pelo menos uma vez por execução programada. Em raras circunstâncias, é 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 de execução repetida. Os destinos precisam ser idempotentes.
É possível criar cron jobs usando o Console do Cloud ou a ferramenta de linha de comando gcloud.
Regiões compatíveis por destino
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 compatíveis com o Cloud Scheduler.
Se o destino for um aplicativo do App Engine localizado no projeto atual:
Um job do Cloud Scheduler destinado 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 ele está localizado não pode ser alterada após a criação dele.
O App Engine é regional, ou seja, a infraestrutura que executa o aplicativo 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 aplicativo do App Engine e desativar qualquer aplicativo atual.