Programar e executar um cron job usando a CLI gcloud
Este guia de início rápido mostra como usar a CLI gcloud para realizar algumas operações básicas usando o Cloud Scheduler.
Neste guia de início rápido, você fará as seguintes tarefas:
- Crie um tópico do Pub/Sub para configurar como destino do job do Cloud Scheduler.
- Crie um cron job usando o Cloud Scheduler e configure uma programação recorrente para o job.
- Execute o job.
- Verificar se o job foi concluído com sucesso.
O Cloud Scheduler tem um nível gratuito. Não convém executar este guia de início rápido. resultar em custos. Para mais informações, consulte Preços.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Criar um tópico e uma assinatura do Pub/Sub
Um tópico do Pub/Sub é um recurso para o qual os editores podem enviar mensagens. Para receber as mensagens publicadas em um tópico, você precisa criar uma inscrição nele.
Configure um tópico do Pub/Sub para usar como destino do cron job:
gcloud pubsub topics create cron-topic
Isso criará um tópico chamado
cron-topic
.Para receber mensagens e conferir os resultados do job, crie uma assinatura do Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Criar um cron job usando o Cloud Scheduler
Use o comando gcloud scheduler jobs create pubsub
para configurar uma unidade de trabalho conhecida como cron job, que é enviada a um
destino do Pub/Sub em uma programação recorrente. A programação é especificada
usando um formato baseado em unix-cron. Para mais informações, consulte
Formato e fuso horário do cron job.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-central1" \
--message-body="Hello world"
Você criou um job que envia uma mensagem "Hello World" para o tópico do Pub/Sub às 16h30 aos domingos.
Agora você pode executar o job.
Executar o job
Além de executar de acordo com a programação especificada, você pode forçar a execução imediata do job:
gcloud scheduler jobs run my-cron-job --location="us-central1"
Devido a algumas configurações iniciais, a execução do primeiro job criado em um projeto pode levar alguns minutos.
Em seguida, verifique se o tópico do Pub/Sub recebeu a mensagem.
Verifique os resultados no Pub/Sub
Verifique se o tópico do Pub/Sub está recebendo mensagens do seu trabalho.
Receber mensagens de Pub/Sub de uma assinatura:
gcloud pubsub subscriptions pull cron-sub --limit 5
Se nenhuma mensagem for extraída inicialmente, execute o comando novamente.
Veja os resultados da execução do job. A saída será semelhante a:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Como alternativa, exclua os recursos criados para este guia de início rápido:
Exclua o cron job. No Cloud Shell ou na máquina em que você instalou a CLI gcloud, execute o comando:
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"
Substitua:
MY_JOB
: o nome do job a ser excluído.LOCATION
: o local do job. Por padrão, usa o local do aplicativo do App Engine do projeto atual, se houver um associado.
Exclua o tópico do Pub/Sub. No Cloud Shell ou na máquina em que você instalou a CLI gcloud, execute o comando:
gcloud pubsub topics delete TOPIC_ID
Substitua
TOPIC_ID
pelo ID do tópico do Pub/Sub a ser excluído.Exclua a assinatura do Pub/Sub. No Cloud Shell ou na máquina em que você instalou a CLI gcloud, execute o comando:
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
Substitua
SUBSCRIPTION_ID
pelo ID da assinatura do Pub/Sub a ser excluída.
A seguir
Saiba mais sobre o Cloud Scheduler
Saiba como visualizar registros do Cloud Scheduler