Nesta página, descrevemos como criar filas de tarefas do Cloud Tasks. Quando as tarefas são adicionadas a uma fila, ela as envia e garante que sejam processadas de maneira 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 doGoogle 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, que é onde a fila e os gerenciadores são executados. Anote a região ao adicionar o app.
O uso de tarefas de destino HTTP não requer um aplicativo do App Engine. Você seleciona um local do Google Cloud ao criar sua fila.
Crie uma fila
É possível criar uma fila das seguintes maneiras:
- No console do Google Cloud
- Usando a Google Cloud CLI 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 > Filas.
Clique em Criar fila.
Insira um Nome da fila, por exemplo,
my-queue.Na lista Região, selecione um local compatível em que a fila será executada, por exemplo,
asia-south1.Se a organização restringir o local do recurso e você quiser criar a fila em
us-central1ouus-central2, a política da organização precisará permitir a criação de filas emus-central1eus-central2, mesmo que você só precise de uma fila em uma dessas regiões.Se quiser, você pode configurar sua fila.
Clique em Criar.
gcloud
Use o comando gcloud tasks queues create para criar a fila:
gcloud tasks queues create QUEUE_ID \
--location=LOCATIONSubstitua:
QUEUE_ID: o identificador que você atribui à fila, por exemplo,my-queue.LOCATION: uma região compatível em que a fila será executada, por exemplo,asia-south1.Se a organização restringir o local do recurso e você quiser criar a fila em
us-central1ouus-central2, a política da organização precisará permitir a criação de filas emus-central1eus-central2, mesmo que você só precise de uma fila em uma dessas regiões.
Outras flags do comando da CLI gcloud permitem configurar limites de taxa, opções de repetição, 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: o ID do projeto Google Cloud .LOCATION: uma região compatível em que a fila será executada, por exemplo,asia-south1.Se a organização restringir o local do recurso e você quiser criar a fila em
us-central1ouus-central2, a política da organização precisará permitir a criação de filas emus-central1eus-central2(mesmo que você só precise de uma fila em uma dessas regiões).QUEUE_ID: o identificador que você atribui à fila, por exemplo,my-queue.
Queue incluem limitação 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
Para confirmar se a fila foi criada, faça o seguinte:
- 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 > Filas.
Uma marca de seleção verde indica que a fila está em execução.
Para mais detalhes, clique no nome da fila e, em seguida, 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=LOCATIONSubstitua:
QUEUE_ID: o ID da fila (o nome curto dela)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: o ID do projeto 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 ao criar 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. Para ver as filas no projeto, use o comando
gcloud tasks queues list:gcloud tasks queues list \ --location=LOCATIONPara pesquisar vários locais, é necessário 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/do serviço da API Cloud Tasks.
Clique na guia Cotas e limites do sistema.
Para aumentar uma cota, na linha dela, clique no ícone de reticências > Editar cota.
Para mais informações, consulte Solicitar um ajuste de cota.
Execute novamente os comandos para criar sua fila e garantir que cada etapa seja concluída corretamente.
A seguir
- Configurar roteamento, limites e novas tentativas de fila
- Criar tarefas do Cloud Tasks
- Definir parâmetros de repetição para uma tarefa
- Gerenciar filas e tarefas