Como usar filas push no PHP
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, você encontra 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, o serviço tentará novamente,
enviando outra solicitação. Você precisa fornecer um gerenciador para cada tipo de tarefa que você
usa. 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 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 pelo menos 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
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-19 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-19 UTC."],[[["\u003cp\u003ePush queues manage tasks by sending HTTP requests to App Engine worker services at a consistent rate, retrying the tasks if they fail.\u003c/p\u003e\n"],["\u003cp\u003eEach task requires a designated handler, which can be part of a single service with multiple handlers or managed by different services for various task types.\u003c/p\u003e\n"],["\u003cp\u003eThe deadline for a worker service to process a push task ranges from 10 minutes for automatic scaling to up to 24 hours for manual and basic scaling services, where HTTP responses between 200-299 are considered successful.\u003c/p\u003e\n"],["\u003cp\u003eWorking with push queues involves programmatically creating tasks and assigning handlers to process them, with the option to create and customize multiple queues for efficiency.\u003c/p\u003e\n"],["\u003cp\u003eIf a task's HTTP status code is outside the 200-299 range or fails to respond within the deadline, the queue will retry it, with a minimum of once per hour, and all usage is subjected to usage quotas.\u003c/p\u003e\n"]]],[],null,["# Using Push Queues in PHP\n\nThis page provides an overview of push queues. Push queues run tasks by\ndispatching HTTP requests to App Engine worker services. The requests are\ndelivered at a constant rate. If a task fails, the service retries the task,\nsending another request. You must provide a handler for every kind of task you\nuse. A single service can have multiple handlers for different kinds of tasks, or\nyou can use different services to manage different task types.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| php-gen2\n|\n| /services/access). If you are updating to the App Engine PHP 7/8 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/php-differences) to learn about your migration options for legacy bundled services.\n\nThe task deadline\n-----------------\n\nWhen a worker service receives a push task request, it must handle the request\nand send an HTTP response before a deadline that depends on the [scaling\ntype](/appengine/docs/legacy/standard/php/an-overview-of-app-engine#instances)\nof the worker service.\n\nAutomatic scaling services must finish before 10 minutes have elapsed.\nManual and basic scaling services can run up to 24 hours.\n\nAn HTTP response code between 200--299 indicates success; all other values\nindicate the task failed. If the task fails to respond within the deadline, or\nreturns an invalid response value, the task is retried.\n\nRetrying a failed task\n----------------------\n\nIf a push task request handler returns an HTTP status code outside the range\n200--299, or fails to return any response before the task deadline occurs, the queue\nretries the task until it succeeds. The system backs off gradually to\navoid flooding your application with too many requests, but schedules retry\nattempts for failed tasks to recur at a minimum of once per hour.\n\nWorking with push queues\n------------------------\n\nWhen working with push queues, at a minimum, you'll need to do the following things:\n\n- [Create tasks\n programmatically](/appengine/docs/legacy/standard/php/taskqueue/push/creating-tasks) and add them to the default push queue, or to one or more named push queues that you have created.\n- [Write a\n handler](/appengine/docs/legacy/standard/php/taskqueue/push/creating-handlers) that processes a task's request, and assign the handler to an App Engine service.\n\nOptionally, you can also:\n\n- [Create and customize multiple\n queues](/appengine/docs/legacy/standard/php/taskqueue/push/creating-push-queues) to perform multiple tasks efficiently.\n- [Monitor and manage](/appengine/docs/legacy/standard/php/taskqueue/push/creating-push-queues#monitoring_queues_in_the_console_name_short) your push queues in the Google Cloud console.\n\nWhen you use push queues, your application is subject to additional\n[quotas](/appengine/docs/quotas#Task_Queue).\n\nWhat's next\n-----------\n\n- Learn how to [create push queues](/appengine/docs/legacy/standard/php/taskqueue/push/creating-push-queues)\n- Learn how to [create tasks](/appengine/docs/legacy/standard/php/taskqueue/push/creating-tasks)\n- Learn about [writing handlers](/appengine/docs/legacy/standard/php/taskqueue/push/creating-handlers)\n- Look at an [example](/appengine/docs/legacy/standard/php/taskqueue/push/example)"]]