Migre das filas de tarefas para o Cloud Tasks

Pode migrar da utilização do serviço de filas do ambiente padrão do App Engine (filas de tarefas) através da API App Engine Task Queue para aceder ao mesmo serviço através do Cloud Tasks, uma nova API RPC/REST. As Cloud Tasks podem ser usadas fora dos runtimes do App Engine de primeira geração, particularmente em todos os ambientes flexíveis do App Engine, bem como nos runtimes do ambiente padrão do App Engine de segunda geração.

O Cloud Tasks e o serviço de filas de tarefas do ambiente padrão do App Engine atual existem num único universo. Pode adicionar às mesmas filas através de qualquer uma das APIs. Independentemente de usar o App Engine SDK ou a nova API Cloud Tasks , uma fila na app encaminha uma tarefa para um URL do controlador para processamento assíncrono.

Novas funcionalidades

O Cloud Tasks oferece algumas funcionalidades não disponíveis através do SDK do App Engine, incluindo o seguinte:

  • Gestão da fila através da API:

    Pode criar, eliminar, pausar e realizar outras tarefas de gestão de filas através da API, da consola ou do comando gcloud.

  • Comando List Queues:

    Pode listar todas as filas que configurou no seu projeto.

  • Comando List Tasks:

    Pode listar todas as tarefas em qualquer uma das suas filas.

  • Integração da gestão de identidade e de acesso (IAM):

    Pode proteger o acesso às suas filas e tarefas de forma altamente detalhada através da IAM.

  • Alvos HTTP

    Pode segmentar processadores em qualquer ponto final HTTP com um endereço IP público.

Funcionalidades nas filas de tarefas ainda não disponíveis através da API Cloud Tasks :

  • Filas de obtenção:

    Pode usar o Cloud Pub/Sub, um produto do GA, para implementar muitos dos mesmos exemplos de utilização que as filas de obtenção.

  • Tarefas transacionais:

    O Cloud Tasks não suporta a colocação de uma tarefa em fila como parte de uma transação do Cloud Datastore, de modo que a tarefa só é colocada em fila, e é garantido que é colocada em fila, se a transação for confirmada com êxito.

  • Tarefas adiadas/atrasadas:

    Em alguns casos em que pode precisar de uma série de pequenas tarefas diversas processadas de forma assíncrona, mas não quer ter o trabalho de configurar controladores distintos individuais, o SDK do App Engine permite-lhe usar bibliotecas específicas do tempo de execução para criar funções simples para gerir estas tarefas. Esta funcionalidade não está disponível no Cloud Tasks. No entanto, tenha em atenção que pode agendar tarefas normais para o futuro através do Cloud Tasks.

  • Espaços de nomes:

    Alguns dos runtimes que usam o SDK do App Engine têm APIs que suportam a multilocação de tarefas através da utilização de espaços de nomes. Esta funcionalidade não está disponível no Cloud Tasks.

  • Emulador local:

    O servidor de desenvolvimento local fornecido pela CLI gcloud ou pelo App Engine SDK não suporta pontos finais simulados para chamadas da API Cloud Tasks.

  • Adição de tarefa assíncrona:

    Os utilizadores do App Engine SDK podem optar por adicionar tarefas a filas de forma assíncrona. Esta funcionalidade não está disponível no Cloud Tasks.

Para obter mais informações

Pode encontrar guias mais detalhados para migrar o seu código no conjunto de documentação da fila de tarefas do App Engine: