Como executar várias tarefas utilizando o GPC Cloud Run Job
Você já se pegou precisando executar várias tarefas em escala, sem ter que gerenciar servidores ou lidar com toda a complexidade de…
Como executar várias tarefas utilizando o GPC Cloud Run Job
Você já se pegou precisando executar várias tarefas em escala, sem ter que gerenciar servidores ou lidar com toda a complexidade de infraestrutura? Pois é, eu também! E é aí que o GCP Cloud Run Jobs entra em cena como uma mão na roda.
A nuvem do Google Cloud Plataform possui um serviço que é um dos meus preferidos pela simplicidade e poder. O Cloud Run possui dois modos o Aplication e o Job. O primeiro é para gerir instâncias de aplicações web mais convencionais com endpoints e o segunda para execução de tarefas em lote ou processamentos mais pontuais.
Por Que Usar o Cloud Run Jobs?
- Escalabilidade: Execute de uma a milhares de instâncias em paralelo.
- Economia: Pague apenas pelo tempo de execução.
- Simplicidade: Sem necessidade de gerenciar infraestrutura. Considero mais fácil de configurar e utilizar do que o comumente usado AWS Lambda.
Uso Típico
- Processos em lote: Para rodar tarefas em paralelo ou processar muitos dados de uma vez.
- Execuções maiores: Suporte a execuções de longa duração(na data atual até 24h).
- Execução Diárias: Você pode agendar a execução de uma tarefa como se fosse um cron job, adicionando um gatilho para a execução.
Exemplos de implementação:
Exemplo 1: Enviar relatórios diários para os clientes
Configure o job para rodar todas as manhãs usando Cloud Scheduler:
- Configure um job com um contêiner que cria e envia relatórios:
gcloud beta run jobs create enviar-relatorios-diarios \
--image gcr.io/[PROJECT_ID]/gerar-relatorio:latest \
--region us-central1 \
--tasks 1
Crie um agendamento no Cloud Scheduler:
gcloud scheduler jobs create http relatorios-diarios \
--schedule "0 8 * * *" \
--http-method POST \
--uri "https://REGION-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/PROJECT_ID/jobs/enviar-relatorios-diarios:run" \
--oauth-service-account-email "[SERVICE_ACCOUNT]"
Agora, todos os dias às 8h, os relatórios serão gerados automaticamente.
Exemplo 2: Job com parâmetros personalizados
Use variáveis de ambiente para personalizar a execução do job.
- Crie um job para utilizar variáveis de ambiente como meio de configuração principal:
gcloud beta run jobs create job-personalizado \
--image gcr.io/[PROJECT_ID]/gerar-relatorio:latest \
--region us-central1 \
--tasks 1
gcloud beta run jobs execute job-personalizado \
--region us-central1 \
--update-env-vars CUSTOMER_NAME="Cliente XPTO",REPORT_TYPE="Financeiro"
No seu script, você captura essas variáveis para definir a lógica de negócio.
Exemplo 3: Processamento de dados em lote
Imagine que você precisa processar um grande volume de dados dividido em 10 partes. O Cloud Run Jobs injeta variáveis de índice automaticamente.
- Modifique o script para usar índices de tarefa fornecidos pelo Cloud Run: processar_dados.py
import os
def main():
task_index = os.getenv("CLOUD_RUN_TASK_INDEX", 0)
total_tasks = os.getenv("CLOUD_RUN_TASK_COUNT", 1)
print(f"Processando lote {task_index} de {total_tasks}")
print(f"Lote {task_index} concluído!")
if __name__ == "__main__":
main()
Modifique o script para usar índices de tarefa fornecidos pelo Cloud Run: processar_dados.py
gcloud beta run jobs create processar-dados-job \
--image gcr.io/[PROJECT_ID]/processar-dados:latest \
--region us-central1 \
--tasks 10
Execute o job:
gcloud beta run jobs execute processar-dados-job --region us-central1
Vantagens
Configuração simples através do painel

Fácil monitoramento dos Jobs.

Prático debug pelo dashboard

Boas Práticas para não passar sufoco!
Para garantir que seus Jobs sejam resilientes, considere estes pontos:
- Idempotência é a chave: Como o Cloud Run pode tentar reexecutar uma tarefa em caso de falha, garanta que rodar a mesma tarefa duas vezes não cause duplicidade de dados ou erros colaterais.
- Gerenciamento de Memória: Ajuste os limites de CPU e Memória de acordo com a carga. Se o seu processo for intensivo em dados, não hesite em aumentar os limites para evitar erros de Out of Memory.
- Logs Estruturados: Use o Cloud Logging para emitir logs em formato JSON. Isso facilita muito o debug e a criação de alertas baseados em erros específicos dentro do processamento.
Conclusão
O Cloud Run Jobs preenche uma lacuna importante no ecossistema do Google Cloud. Ele oferece o poder do processamento paralelo sem a curva de aprendizado íngreme do Kubernetes ou as limitações de tempo do Cloud Functions (Lambda).
Se você precisa de uma solução que seja “configurar e esquecer” para suas rotinas de backend, processamento de dados ou automações diárias, o Cloud Run Jobs é, sem dúvida, uma das melhores escolhas atuais.
Gostou do conteúdo? Se você já utiliza o Cloud Run Jobs ou tem alguma dúvida sobre como migrar seus scripts para a nuvem, deixe um comentário abaixo! Vamos trocar experiências.
메타데이터
- post_id
- d9851775b769
- slug
- como-executar-várias-tarefas-utilizando-o-gpc-cloud-run-job-d9851775b769
- url
- https://medium.com/@edno2819/como-executar-v%C3%A1rias-tarefas-utilizando-o-gpc-cloud-run-job-d9851775b769
- canonical_url
- https://medium.com/@edno2819/como-executar-v%C3%A1rias-tarefas-utilizando-o-gpc-cloud-run-job-d9851775b769
- author_url
- https://medium.com/@edno2819
- status
- ok
- fetched_at
- 2026-06-20 20:29:01