Esta página fornece uma vista geral das filas de envio. As filas push executam tarefas através do envio de pedidos HTTP para serviços de trabalho do App Engine. As solicitações são entregues a uma taxa constante. Se uma tarefa falhar, o serviço tenta novamente a tarefa, enviando outro pedido. Tem de fornecer um controlador para cada tipo de tarefa que usa. Um único serviço pode ter vários controladores para diferentes tipos de tarefas ou pode usar diferentes serviços para gerir diferentes tipos de tarefas.
O prazo da tarefa
Quando um serviço de trabalho recebe um pedido de tarefa de envio, tem de processar o pedido e enviar uma resposta HTTP antes de um prazo que depende do tipo de escalabilidade do serviço de trabalho.
Os serviços de escalabilidade automática têm de terminar antes de decorridos 10 minutos. Os serviços de escalabilidade manual e básica podem ser executados durante um máximo de 24 horas.
Um código de resposta HTTP entre 200 e 299 indica êxito; todos os outros valores indicam que a tarefa falhou. Se a tarefa não responder dentro do prazo ou devolver um valor de resposta inválido, a tarefa é repetida.
Repetir uma tarefa com falha
Se um controlador de pedidos de tarefas push devolver um código de estado HTTP fora do intervalo 200–299 ou não devolver qualquer resposta antes do prazo da tarefa, a fila volta a tentar a tarefa até ter êxito. O sistema recua gradualmente para evitar inundar a sua aplicação com demasiados pedidos, mas agenda novas tentativas para as tarefas com falhas ocorrerem, pelo menos, uma vez por hora.
Trabalhar com filas push
Quando trabalha com filas de envio, tem de fazer, no mínimo, o seguinte:
- Criar tarefas programaticamente e adicioná-las à fila de envio predefinida ou a uma ou mais filas de envio com nome que criou.
- Escreva um processador que processe o pedido de uma tarefa e atribua o processador a um serviço do App Engine.
Opcionalmente, também pode:
- Crie e personalize várias filas para realizar várias tarefas de forma eficiente.
- Monitorize e faça a gestão das suas filas de envio na Google Cloud consola.
Quando usa filas de envio, a sua aplicação está sujeita a quotas adicionais.
O que se segue?
- Saiba como criar filas push.
- Saiba como criar tarefas.
- Saiba mais sobre os gestores de escrita.
- Veja um exemplo.