Utiliser des files d'attente d'envoi en PHP
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page présente les files d'attente d'envoi. Les files d'attente d'envoi exécutent des tâches en envoyant des demandes HTTP aux services de nœuds de calcul App Engine. Les demandes sont livrées à un taux constant. Si une tâche échoue, le service relance la tâche en envoyant une autre requête. Vous devez fournir un gestionnaire pour chaque type de tâche que vous utilisez. Un seul service peut avoir plusieurs gestionnaires pour différents types de tâches ou vous pouvez utiliser différents services pour gérer différents types de tâches.

La date limite de la tâche
Lorsqu'un service de nœud de calcul reçoit une demande de tâche d'envoi, il doit gérer la demande et envoyer une réponse HTTP avant une date limite qui dépend du type de dimensionnement du service de nœud de calcul.
Les services de mise à l'échelle automatique doivent s'achever au plus tard 10 minutes plus tard.
Scaling manuel et de base : les requêtes peuvent durer jusqu'à 24 heures.
Un code de réponse HTTP entre 200 et 299 indique un succès ; toutes les autres valeurs indiquent que la tâche a échoué. Si la tâche ne répond pas dans le délai imparti ou renvoie une valeur de réponse non valide, la tâche est réessayée.
Réessayer une tâche ayant échoué
Si un gestionnaire de demandes de tâches d'envoi renvoie un code d'état HTTP situé en dehors de la plage 200-299 ou ne renvoie aucune réponse avant l'échéance de la tâche, la file d'attente réessaie la tâche jusqu'à ce qu'elle aboutisse. Le système recule progressivement pour éviter de surcharger votre application avec un trop grand nombre de demandes, mais les tentatives de répétition des tâches en échec se répètent au moins une fois par heure.
Travailler avec des files d'attente d'envoi
Lorsque vous travaillez avec des files d'attente d'envoi, vous devez au minimum effectuer les tâches suivantes :
Vous pouvez également :
Lorsque vous utilisez des files d'attente d'envoi, votre application est soumise à des quotas supplémentaires.
Étapes suivantes
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (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)"]]