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
Console
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.
gcloud
Use o comando gcloud tasks queues create
para criar a fila:
gcloud tasks queues create QUEUE_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.
API REST
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:
PROJECT_ID
: é seu ID do projeto no Google Cloud.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ê só precise de uma fila em uma dessas regiões.QUEUE_ID
: o identificador atribuído à sua fila, por exemplo,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:
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
Console
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.
gcloud
Use o comando gcloud tasks queues describe
para verificar se a fila foi criada:
gcloud tasks queues describe QUEUE_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
API REST
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:
PROJECT_ID
: é seu ID do projeto no Google Cloud.LOCATION
: a região em que a fila é implantada. Por exemplo,us-central1
.QUEUE_ID
: o ID curto da fila. Por exemplo,my-queue
.
Para enviar a solicitação, expanda uma destas opções:
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