Criar filas do Cloud Tasks

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

  1. No console do Google Cloud, acesse a página Cloud Tasks > Queues.

    Acessar filas

  2. Clique em Criar fila.

  3. Digite um nome de fila, por exemplo, my-queue.

  4. 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 ou us-central2, a política da organização precisará permitir a criação de filas em us-central1 e us-central2, mesmo que você precise de uma fila em apenas uma dessas regiões.

  5. Também é possível configurar a fila.

  6. 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 ou us-central2, a política da organização precisará permitir a criação de filas em us-central1 e us-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 ou us-central2, a política da organização precisará permitir a criação de filas em us-central1 e us-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.
Outras propriedades configuráveis para o recurso 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

  1. No console do Google Cloud, acesse a página Cloud Tasks > Queues.

    Acessar filas

    Uma marca de seleção verde indica que a fila está em execução.

  2. 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:

    1. No console do Google Cloud, acesse a página Detalhes da API/serviço da API Cloud Tasks .

      Acessar os detalhes da API/serviço

    2. Clique na guia Cotas e limites do sistema.

    3. 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