Esta página descreve como criar filas do Cloud Tasks. Quando as tarefas são adicionadas a uma fila, ela as despacha e garante que elas sejam processadas de forma confiável por um serviço, também conhecido como worker.
Observe o seguinte:
Os nomes das filas consistem em três partes: um ID do projeto, um local e um ID da fila. Você precisa ter um projeto do Google Cloud que forneça o ID do projeto.
Se você estiver usando tarefas de destino do App Engine, também precisará ter um aplicativo do App Engine localizado em uma região específica e em que a fila e os manipuladores são executados. Anote a região ao adicionar o app.
O uso de tarefas de destino HTTP não exige um app do App Engine. Você seleciona um local Google Cloud ao criar a fila.
Crie uma fila
É possível criar uma fila das seguintes maneiras:
- No console do Google Cloud
- Usando a CLI do Google Cloud no terminal ou no Cloud Shell
- Enviando uma solicitação direta para a API Cloud Tasks
No console do Google Cloud, acesse a página Cloud Tasks > Queues.
Clique em
Criar fila.Digite um nome de fila, por exemplo,
my-queue
.Na lista Região, selecione um local com suporte em que a fila será executada, por exemplo,
asia-south1
.Se a sua organização restringir a localização de recursos e você quiser criar a fila em
us-central1
ouus-central2
, a política da organização precisará permitir a criação de filas emus-central1
eus-central2
, mesmo que você precise de uma fila em apenas uma dessas regiões.Também é possível configurar a fila.
Clique em Criar.
Use o comando gcloud tasks queues create
para criar a fila:
gcloud tasks queues createQUEUE_ID \ --location=LOCATION
Substitua:
QUEUE_ID
: o identificador atribuído à sua fila, por exemplo,my-queue
.LOCATION
: uma região com suporte em que a fila será executada. Por exemplo,asia-south1
.Se a sua organização restringir a localização de recursos e você quiser criar a fila em
us-central1
ouus-central2
, a política da organização precisará permitir a criação de filas emus-central1
eus-central2
, mesmo que você precise apenas de uma fila em uma dessas regiões.
Outras flags para o comando da CLI gcloud permitem configurar limites de taxa, opções de nova tentativa, tipos de fila e muito mais.
Para criar uma fila, use o
método
projects.locations.queues.create
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
: é seu ID do projeto no Google Cloud.PROJECT_ID
: uma região com suporte em que a fila será executada. Por exemplo,LOCATION asia-south1
.Se a sua organização restringir a localização de recursos e você quiser criar a fila em
us-central1
ouus-central2
, a política da organização precisará permitir a criação de filas emus-central1
eus-central2
, mesmo que você só precise de uma fila em uma dessas regiões.
: o identificador atribuído à sua fila, por exemplo,QUEUE_ID my-queue
.
Queue
incluem limites de taxa, opções de repetição, tipos de fila e muito mais.
Corpo JSON da solicitação:
{ "name": "projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID " }
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' { "name": "projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID " } EOF
Depois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudtasks.googleapis.com/v2/projects/PROJECT_ID /locations/LOCATION /queues"
PowerShell (Windows)
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "name": "projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID " } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudtasks.googleapis.com/v2/projects/PROJECT_ID /locations/LOCATION /queues" | Select-Object -Expand Content
APIs Explorer (navegador)
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Se houver êxito, o corpo da resposta conterá uma instância de Queue
:
{ "name": "projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID ", "rateLimits": { "maxDispatchesPerSecond": 500, "maxBurstSize": 100, "maxConcurrentDispatches": 1000 }, "retryConfig": { "maxAttempts": 100, "minBackoff": "0.100s", "maxBackoff": "3600s", "maxDoublings": 16 }, "state": "RUNNING" }
Pode demorar alguns minutos para que uma fila recém-criada esteja disponível.
Descreva sua fila
Você pode confirmar que a fila foi criada da seguinte maneira:
- No console do Google Cloud
- Usando a CLI gcloud no terminal ou no Cloud Shell
Enviando uma solicitação direta para a API Cloud Tasks
No console do Google Cloud, acesse a página Cloud Tasks > Queues.
Uma marca de seleção verde
indica que a fila está em execução.Para mais detalhes, clique no nome da fila e na guia Configuração.
Use o comando gcloud tasks queues describe
para verificar se a fila foi criada:
gcloud tasks queues describeQUEUE_ID \ --location=LOCATION
Substitua:
QUEUE_ID
: o ID da fila (nome abreviado)LOCATION
: o local da fila
A saída será semelhante a esta:
name: projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
Para recuperar uma fila, use o método
projects.locations.queues.get
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
: é seu ID do projeto no Google Cloud.PROJECT_ID
: a região em que a fila é implantada. Por exemplo,LOCATION us-central1
.
: o ID curto da fila. Por exemplo,QUEUE_ID my-queue
.
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudtasks.googleapis.com/v2/projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID "
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudtasks.googleapis.com/v2/projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID " | Select-Object -Expand Content
APIs Explorer (navegador)
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Se houver êxito, o corpo da resposta conterá uma instância de Queue
:
{ "name": "projects/PROJECT_ID /locations/LOCATION /queues/QUEUE_ID ", "rateLimits": { "maxDispatchesPerSecond": 500, "maxBurstSize": 100, "maxConcurrentDispatches": 1000 }, "retryConfig": { "maxAttempts": 100, "minBackoff": "0.100s", "maxBackoff": "3600s", "maxDoublings": 16 }, "state": "RUNNING" }
Resolver problemas na criação de uma fila
Se você não encontrar a saída esperada, tente o seguinte:
- Aguarde pelo menos um minuto para que a fila seja inicializada.
Verifique se já há uma fila com o mesmo código. É possível conferir as filas no projeto usando o comando
gcloud tasks queues list
:gcloud tasks queues list \ --location=
LOCATION Para pesquisar vários locais, você precisa fazer várias solicitações.
Verifique se você atingiu a cota da fila:
No console do Google Cloud, acesse a página Detalhes da API/serviço da API Cloud Tasks .
Clique na guia Cotas e limites do sistema.
Para aumentar uma cota, clique no ícone de elipse > Editar cota.
Para mais informações, consulte Solicitar um valor de cota maior.
Execute os comandos novamente para criar a fila e garantir que cada etapa seja concluída corretamente.
A seguir
- Configurar filas do Cloud Tasks
- Referência da API REST
- Referência da API RPC
- Comandos
gcloud
do Cloud Tasks