Como usar filas push em Java

Nesta página, você encontrará uma visão geral das filas push. Nelas, as tarefas são executadas com o envio de solicitações HTTP aos serviços de worker do App Engine. As solicitações são entregues a uma taxa constante. Se uma tarefa falhar, haverá uma nova tentativa com o envio de outra solicitação. É preciso informar um gerenciador para cada tipo de tarefa usado. Um único serviço pode ter vários gerenciadores para diferentes tipos de tarefas, ou você pode usar serviços diferentes para gerenciar cada tipo de tarefa.

O aplicativo transfere a tarefa para o serviço de fila de tarefas, que usa HTTP para enviá-la ao worker

O prazo da tarefa

Quando um serviço de worker recebe uma solicitação de tarefa push, ele precisa processar a solicitação e enviar uma resposta HTTP dentro de um prazo que depende do tipo de escalonamento do serviço de worker.

Os serviços de escalonamento automático precisam terminar em até 10 minutos. Os serviços de escalonamento manual e básico podem permanecer em execução por até 24 horas.

Um código de resposta HTTP entre 200 e 299 indica sucesso. Todos os outros valores indicam falha na tarefa. Se a tarefa não responder dentro do prazo ou o valor de resposta retornado for inválido, a tarefa será repetida.

Como repetir uma tarefa com falha

Se um gerenciador de solicitações de tarefas push retornar um código de status HTTP fora do intervalo 200–299 ou deixar de retornar qualquer resposta antes do fim do prazo da tarefa, a tarefa será repetida pela fila até ser bem-sucedida. O sistema recuará gradualmente para evitar sobrecarregar o aplicativo com muitas solicitações, mas programará novas tentativas de tarefas que falharam para que ocorram no máximo uma vez por hora.

Como trabalhar com filas push

Para trabalhar com filas push, você precisará fazer pelo menos o seguinte:

Também é possível fazer o seguinte:

Quando você usa filas push, o aplicativo fica sujeito a cotas extras.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Java 8