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-central1ouus-central2, a política da organização tem de permitir a criação de filas emus-central1eus-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=LOCATIONSubstitua 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-central1ouus-central2, a política da organização tem de permitir a criação de filas emus-central1eus-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-central1ouus-central2, a política da organização tem de permitir a criação de filas emus-central1eus-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=LOCATIONSubstitua 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=LOCATIONPara 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
gclouddo Cloud Tasks