Esta página descreve como criar filas do Cloud Tasks. Quando as tarefas são adicionadas a uma fila, a fila envia-as e garante que são processadas de forma fiável por um serviço, também conhecido como trabalhador.
Tenha em conta o seguinte:
Os nomes das filas são compostos por três partes: um ID do projeto, uma localização e um ID da fila. Tem de ter um Google Cloud projeto que faculte o ID do projeto.
Se estiver a usar tarefas de destino do App Engine, também tem de ter uma aplicação do App Engine localizada numa região específica e onde a fila e os controladores são executados. Tenha em atenção a região quando adicionar a app.
A utilização de tarefas de destino HTTP não requer uma app do App Engine. Seleciona uma Google Cloud localização quando cria a fila.
Crie uma fila
Pode criar uma fila das seguintes formas:
- Na consola Google Cloud
- Usando a Google Cloud CLI no seu terminal ou no Cloud Shell
- Enviando um pedido direto para a API Cloud Tasks
Consola
Na Google Cloud consola, aceda à página Cloud Tasks > Filas.
Clique em
Criar fila.Introduza um Nome da fila, por exemplo,
my-queue
.Na lista Região, selecione uma localização suportada onde a fila vai ser executada, por exemplo,
asia-south1
.Se a sua organização restringir a localização dos recursos e quiser criar a sua fila em
us-central1
ouus-central2
, a política da organização tem de permitir a criação de filas emus-central1
eus-central2
(mesmo que só precise de uma fila numa dessas regiões).Opcionalmente, pode configurar ainda mais a sua fila.
Clique em Criar.
gcloud
Use o comando gcloud tasks queues create
para criar a sua fila:
gcloud tasks queues create QUEUE_ID \ --location=LOCATION
Substitua o seguinte:
QUEUE_ID
: o identificador que atribui à sua fila, por exemplo,my-queue
.LOCATION
: uma região suportada onde a fila vai ser executada, por exemplo,asia-south1
.Se a sua organização restringir a localização dos recursos e quiser criar a fila em
us-central1
ouus-central2
, a política da organização tem de permitir a criação de filas emus-central1
eus-central2
(mesmo que só precise de uma fila numa dessas regiões).
Outras flags para o comando da CLI gcloud permitem-lhe configurar limites de taxa, opções de repetição, tipos de filas e muito mais.
API REST
Para criar uma fila, use o método
projects.locations.queues.create
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: uma região suportada onde a fila vai ser executada, por exemplo,asia-south1
.Se a sua organização restringir a localização dos recursos e quiser criar a sua fila em
us-central1
ouus-central2
, a política da organização tem de permitir a criação de filas emus-central1
eus-central2
(mesmo que só precise de uma fila numa dessas regiões).QUEUE_ID
: o identificador que atribui à sua fila, por exemplo,my-queue
.
Queue
incluem limites de taxa, opções de repetição, tipos de filas e muito mais.
Corpo JSON do pedido:
{ "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID" }
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada 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" }
Uma fila criada recentemente pode demorar alguns minutos a ficar disponível.
Descreva a sua fila
Pode confirmar que a fila foi criada com êxito das seguintes formas:
- Na consola Google Cloud
- Usando a CLI gcloud no terminal ou no Cloud Shell
Enviando um pedido direto para a API Cloud Tasks
Consola
Na Google Cloud consola, aceda à página Cloud Tasks > Filas.
Uma marca de verificação verde
deve indicar que a fila está em execução.Para ver mais detalhes, clique no nome da fila e, de seguida, clique no separador Configuração.
gcloud
Use o comando gcloud tasks queues describe
para verificar se a fila foi criada com êxito:
gcloud tasks queues describe QUEUE_ID \ --location=LOCATION
Substitua o seguinte:
QUEUE_ID
: o ID da fila (o nome abreviado)LOCATION
: a localização da fila
O resultado deve ser semelhante ao seguinte:
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 obter uma fila, use o método
projects.locations.queues.get
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: a região na qual a fila está implementada. Por exemplo,us-central1
.QUEUE_ID
: o ID curto da fila, por exemplo,my-queue
.
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém 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" }
Resolva problemas ao criar uma fila
Se não vir o resultado esperado, pode experimentar o seguinte:
- Aguarde, pelo menos, um minuto para que a fila seja inicializada.
Certifique-se de que já não existe uma fila com o mesmo ID. Pode ver as filas no seu projeto através do comando
gcloud tasks queues list
:gcloud tasks queues list \ --location=LOCATION
Para pesquisar várias localizações, tem de fazer vários pedidos.
Verifique se atingiu a quota da fila:
Na Google Cloud consola, aceda à página Detalhes da API/serviço para a API Cloud Tasks .
Clique no separador Quotas e limites do sistema.
Para aumentar uma quota, na linha da quota, clique no ícone de reticências > Editar quota.
Para mais informações, consulte o artigo Peça um ajuste da quota.
Volte a executar os comandos para criar a fila e certifique-se de que cada passo é concluído corretamente.
O que se segue?
- Configure filas do Cloud Tasks
- Referência da API REST
- Referência da API RPC
- Comandos
gcloud
do Cloud Tasks