Desenvolver e criar um job do Node.js no Cloud Run
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
Como escrever o job de amostra
Para gravar um job no Node.js:
Crie um novo diretório com o nome
jobs
e altere o diretório nele:mkdir jobs cd jobs
Crie um arquivo
package.json
com o seguinte conteúdo:No mesmo diretório, crie um arquivo
index.js
para o código do job real. Copie as seguintes linhas de amostra:Os jobs do Cloud Run permitem que os usuários especifiquem o número de tarefas que o job vai executar. Esse exemplo de código mostra como usar a variável de ambiente
CLOUD_RUN_TASK_INDEX
integrada. Cada tarefa representa uma cópia em execução do contêiner. As tarefas geralmente são executadas em paralelo. É útil usar várias tarefas se cada uma delas puder processar independentemente um subconjunto dos dados.Cada tarefa está ciente do índice armazenado na variável de ambiente
CLOUD_RUN_TASK_INDEX
. A variável de ambienteCLOUD_RUN_TASK_COUNT
integrada contém o número de tarefas fornecidas no tempo de execução do job por meio do parâmetro--tasks
.O código mostrado também mostra como repetir tarefas, usando o método integrado
CLOUD_RUN_TASK_ATTEMPT
que contém o número de vezes que essa tarefa foi repetida, começando em 0 para a primeira tentativa e aumentando em 1 a cada nova tentativa, até--max-retries
de dados.O código também permite gerar falhas como uma maneira de testar novas tentativas e gerar registros de erro para que você possa ver como eles são.
Crie um
Procfile
com os conteúdos a seguir:
Seu código está completo e pronto para ser empacotado em um contêiner.
Crie um contêiner de jobs, envie-o para o Artifact Registry e implante no Cloud Run
Importante: este guia de início rápido pressupõe que você tenha papéis de proprietário ou editor no projeto que está usando para este guia. Caso contrário, consulte as permissões de implantação do Cloud Run, as permissões do Cloud Build e as permissões do Artifact Registry.
Neste guia de início rápido, usamos a implantação da origem, que cria o contêiner, faz upload dele para o Artifact Registry e implanta o job no Cloud Run:
gcloud run jobs deploy job-quickstart \ --source . \ --tasks 50 \ --set-env-vars SLEEP_MS=10000 \ --set-env-vars FAIL_RATE=0.1 \ --max-retries 5 \ --region REGION \ --project=PROJECT_ID
em que PROJECT_ID é o ID do projeto e REGION é a região, por exemplo, us-central1
. É possível mudar os vários parâmetros para os valores que você quer usar para fins de teste.
O SLEEP_MS
simula o trabalho, e FAIL_RATE
faz com que X
% das tarefas falhem. Assim, você
pode testar o paralelismo e tentar novamente tarefas com falha.
Executar um job no Cloud Run
Para executar o job que você acabou de criar:
gcloud run jobs execute job-quickstart --region REGION
Substitua REGION pela região que você usou ao criar e implantar o job, por exemplo, us-central1
.
A seguir
Para mais informações sobre como criar um contêiner a partir do código-fonte e enviá-lo para um repositório, consulte: