Usa listas de aplicaciones en cola en Python 2
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta se proporciona una descripción general de las listas de aplicaciones en cola. Las listas de aplicaciones en cola ejecutan tareas mediante el despacho de solicitudes HTTP a los servicios de trabajador de App Engine. Las solicitudes se envían con una frecuencia constante. Si una tarea falla, el servicio envía otra solicitud para el reintento. Debes proporcionar un controlador para cada tipo de tarea que uses. Un solo servicio puede tener varios controladores para distintas categorías de tareas o se pueden usar servicios diferentes que administren varios tipos de tarea.

El plazo límite de la tarea
Cuando un servicio trabajador recibe una solicitud de una lista de tareas, debe manejar la solicitud y enviar una respuesta HTTP antes del plazo límite que depende del tipo de escalamiento del servicio trabajador.
Los servicios de escalamiento automático deben finalizar su tarea en un plazo de 10 minutos.
Los servicios de escalamiento manual y básico pueden ejecutarse hasta durante 24 horas.
Un código de respuesta HTTP entre 200 y 299 indica que la tarea se completó correctamente; todos los demás valores indican que la tarea que falló. Si la tarea no responde dentro del plazo límite o muestra un valor de respuesta no válido, la tarea se vuelve a intentar.
Reintentar una tarea con errores
Si el controlador de una solicitud de una lista de tareas muestra un código de estado HTTP fuera del rango de 200 a 299 o no devuelve una respuesta antes del plazo límite de la tarea, la cola vuelve a intentar la tarea hasta que se complete correctamente. El sistema se retira gradualmente para evitar el desbordamiento de la aplicación con demasiadas solicitudes, pero, a su vez, programa los próximos intentos para las tareas con errores de forma que se repitan como mínimo una vez a la hora.
Trabajar con listas de aplicaciones en cola
Cuando se trabaja con listas de aplicaciones en cola, como mínimo se deben cumplir estas acciones:
De manera opcional, también puedes hacer lo siguiente:
Cuando se usan listas de aplicaciones en cola, tu aplicación está sujeta a cuotas adicionales.
Pasos siguientes
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-21 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-04-21 (UTC)"],[[["\u003cp\u003ePush queues execute tasks by sending HTTP requests to App Engine worker services at a consistent rate, with automatic retries for failed tasks.\u003c/p\u003e\n"],["\u003cp\u003eEach task requires a designated handler, which can be managed within a single service or spread across multiple services based on task types.\u003c/p\u003e\n"],["\u003cp\u003eTask completion deadlines vary by service scaling type, with automatic scaling services having a 10-minute limit, while manual and basic scaling services can run for up to 24 hours.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful task completion is indicated by an HTTP response code between 200-299; any other code or a timeout will trigger a task retry, which will occur at a minimum of once per hour.\u003c/p\u003e\n"],["\u003cp\u003eUsing push queues requires creating tasks programmatically and assigning them to queues, along with writing task handlers to process requests.\u003c/p\u003e\n"]]],[],null,["# Using Push Queues in Python 2\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| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-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/python/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/python/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/python/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/python/taskqueue/push/creating-push-queues) to perform multiple tasks efficiently.\n- [Monitor and manage](/appengine/docs/legacy/standard/python/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/python/taskqueue/push/creating-push-queues)\n- Learn how to [create tasks](/appengine/docs/legacy/standard/python/taskqueue/push/creating-tasks)\n- Learn about [writing handlers](/appengine/docs/legacy/standard/python/taskqueue/push/creating-handlers)\n- Look at an [example](https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/taskqueue/counter)"]]