Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
ID de región
REGION_ID es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
El archivo de configuración queue.yaml se usa para crear y configurar casi todas las listas de tareas en cola
que usa tu app. Todas las apps de App Engine incluyen una lista de aplicaciones en cola preconfigurada llamada default. Aunque no crees la cola default, puedes agregar otras colas o cambiar la configuración de la cola default mediante el archivo queue.yaml.
Para configurar
puedes usar queue.yaml o métodos de Administración de colas de Cloud Tasks, perono ambas al mismo tiempo. La combinación del método de carga queue.yaml con los métodos de administración de colas puede generar resultados inesperados y no se recomienda.
Ejemplo
A continuación, se incluye un ejemplo básico que define una cola nombrada y anula la frecuencia de procesamiento predeterminada:
queue:
- name: my-push-queue
rate: 1/s
El siguiente es un ejemplo complejo de una configuración de queue.yaml que demuestra cómo configurar la cantidad de intentos de tareas y cómo modificar la tasa de procesamiento predeterminada.
El archivo queue.yaml es un archivo YAML cuya directiva raíz es queue.
Esta directiva puede contener cero o más colas nombradas. Cada definición de cola puede especificar los siguientes elementos:
Elemento
Descripción
bucket_size (lista de aplicaciones en cola)
Opcional. Una lista de tareas en cola utiliza el algoritmo de bucket de tokens para controlar la frecuencia de ejecución de la tarea. Cada cola nombrada tiene un bucket de tokens que contiene una cantidad de tokens equivalente al máximo especificado por el valor bucket_size. Cada vez que tu aplicación ejecuta una tarea, se quita un token del bucket.
Continúas procesando las tareas en la cola hasta que el bucket de la cola se queda sin tokens. App Engine rellena el bucket con tokens nuevos de forma continua según la frecuencia que hayas especificado para la cola.
El tamaño del bucket limita la rapidez con la que se procesa la cola cuando existen muchas tareas en cola y la frecuencia es alta. El valor máximo para el tamaño del bucket es de 500. Esto te permite tener una frecuencia alta, por lo que el procesamiento comienza poco después de que se pone una tarea en cola; aun así, limita el uso de recursos cuando muchas tareas se ponen en cola en un período corto de tiempo.
Si no especificas el bucket_size para una cola, el valor predeterminado es de 5. Te recomendamos establecer un valor mayor porque el tamaño predeterminado podría ser demasiado pequeño para muchos casos prácticos. Por ejemplo, podrías determinar el tamaño de tu bucket según la tasa de procesamiento.
Para obtener más información sobre este elemento, consulta la descripción comparativa de max_burst_size
en la referencia de la API de Cloud Tasks.
max_concurrent_requests (lista de aplicaciones en cola)
Opcional.
Establece la cantidad máxima de tareas que pueden ejecutarse de manera simultánea desde la cola especificada. El valor es un número entero. De manera predeterminada, el límite es de 1,000 tareas por cola. El límite superior recomendado es de 5,000 tareas por cola. Ten en cuenta que las colas pueden avanzar lentamente cuando se crean por primera vez o si han estado inactivas durante un tiempo.
La restricción de la cantidad de tareas simultáneas te brinda más control sobre la frecuencia de ejecución de la cola y puede evitar que se ejecuten demasiadas tareas a la vez. También puede evitar la contención del almacén de datos y hacer que los recursos estén disponibles para otras colas o el procesamiento en línea.
Para obtener más información sobre este elemento, consulta la descripción comparativa de max_concurrent_dispatches en la referencia de la API de Cloud Tasks.
name
Obligatorio.
El nombre de la cola.
Un nombre de cola puede contener letras mayúsculas y minúsculas, números y guiones. La longitud máxima para un nombre de cola es de 100 caracteres.
Todas las apps tienen una lista de aplicaciones en cola con un nombre predeterminado. Esta cola tiene una frecuencia predeterminada de 5 tareas por segundo. Ten en cuenta que esta cola predeterminada no se muestra en la consola de Google Cloud hasta que se use o configure por primera vez.
Puedes configurar la cola predeterminada, incluido el cambio de la tasa predeterminada, si defines una cola llamada "default" en el archivo queue.yaml.
rate (lista de aplicaciones en cola)
Obligatorio.
Indica con qué frecuencia se procesan las tareas en esta cola. El valor es un número seguido de una barra y una unidad de tiempo, en la que la unidad es s para segundos, m para minutos, h para horas o d para días. Por ejemplo, el valor 5/m indica que las tareas se procesarán con una frecuencia de 5 veces por minuto. El valor máximo de rate es 500/s.
Si el número es 0 (como en 0/s), la cola se considera “pausada” y no se procesan tareas.
Para obtener más información sobre este elemento, consulta la descripción comparativa de max_dispatches_per_second en la referencia de la API de Cloud Tasks.
retry_parameters
Opcional.
Configura los reintentos para las tareas con errores en las listas de aplicaciones en cola. Esta adición te permite especificar la cantidad máxima de veces que se reintentarán las tareas con errores en una cola específica. También puedes establecer un límite de tiempo para los reintentos y controlar el intervalo entre intentos.
Los parámetros de reintento pueden contener los siguientes subelementos:
task_retry_limit
La cantidad de reintentos. Por ejemplo, si se especifica 0 y la tarea falla, no se reintenta. Si se especifica 1 y la tarea falla, se reintenta una vez. Si no se especifica este parámetro, la tarea se reintenta indefinidamente. Si se especifica task_retry_limit con task_age_limit, se vuelve a intentar la tarea hasta que se alcancen ambos límites.
task_age_limit (lista de aplicaciones en cola)
El límite de tiempo para reintentar una tarea con errores, medido desde la primera ejecución de la tarea. El valor es un número seguido de una unidad de tiempo, en la que la unidad es s para segundos, m para minutos, h para horas o d para días.
Por ejemplo, el valor 5d especifica un límite de cinco días después del primer intento de ejecución de la tarea. Si no se especifica este parámetro, la tarea se reintenta indefinidamente. Si se especifica con task_retry_limit, App Engine vuelve a intentar la tarea hasta que se alcancen ambos límites.
min_backoff_seconds (lista de aplicaciones en cola)
La cantidad mínima de segundos que se espera antes de reintentar una tarea después de que falla. El valor predeterminado es 0.1.
max_backoff_seconds (lista de aplicaciones en cola)
La cantidad máxima de segundos que se espera antes de reintentar una tarea después de que falla. El valor predeterminado es 3600.
max_doublings (lista de aplicaciones en cola)
La cantidad máxima de veces que se puede duplicar el intervalo entre reintentos de las tareas con errores antes de que el aumento se vuelva constante. La constante es: 2**max_doublings * min_backoff_seconds.
El valor predeterminado es 16.
target (lista de aplicaciones en cola)
Opcional.
Una string que da nombre a un servicio o una versión, de frontend o backend, donde se ejecutarán todas las tareas puestas en cola para esta cola. El valor predeterminado es una string vacía.
La string se agrega al nombre de dominio de tu aplicación cuando se compila la solicitud HTTP para una tarea. Por ejemplo, si el ID de tu app es my-app y configuraste el destino como my-version-dot-my-service, la URL del nombre de host se configurará como my-version-dot-my-service-dot-my-app.REGION_ID.r.appspot.com
Si no se especifica el destino, las tareas se invocan en la misma versión de la aplicación donde se pusieron en cola. Por lo tanto, si pusiste en cola una tarea desde la versión predeterminada de la aplicación sin especificar un destino en la cola, la tarea se invoca en la versión predeterminada de la aplicación.
Ten en cuenta que si la versión predeterminada de la aplicación cambia entre el momento en que la tarea se pone en cola y el momento en que se ejecuta, la tarea se ejecutará en la versión predeterminada nueva.
Si utilizas servicios junto con un archivo de despacho, la solicitud HTTP de tu tarea podría ser interceptada y reenviada a otro servicio.
Implementa el archivo de configuración de cola
Borra colas
Para borrar una cola, haz lo siguiente:
Quita la definición de la cola de tu archivo queue.yaml.
Sube el cambio al archivo queue.yaml.
gcloud app deploy queue.yaml
Borra la cola en la consola de Google Cloud. Para ello, selecciona la cola y haz clic en Borrar cola:
[[["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\u003eThe \u003ccode\u003eREGION_ID\u003c/code\u003e is a Google-assigned code based on the selected region when creating an app and is included in App Engine URLs for apps created after February 2020.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003equeue.yaml\u003c/code\u003e file is used to create and configure task queues, including the preconfigured \u003ccode\u003edefault\u003c/code\u003e queue, but should not be mixed with Queue Management methods to avoid unexpected results.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003equeue.yaml\u003c/code\u003e file contains definitions for one or multiple named queues, where each queue definition can specify elements like \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003erate\u003c/code\u003e, \u003ccode\u003ebucket_size\u003c/code\u003e, \u003ccode\u003emax_concurrent_requests\u003c/code\u003e, \u003ccode\u003eretry_parameters\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003erate\u003c/code\u003e parameter in \u003ccode\u003equeue.yaml\u003c/code\u003e controls how often tasks are processed, with a maximum value of \u003ccode\u003e500/s\u003c/code\u003e, and can be set to \u003ccode\u003e0/s\u003c/code\u003e to pause the queue, while the \u003ccode\u003eretry_parameters\u003c/code\u003e allows to setup the maximum time and amount of retries.\u003c/p\u003e\n"],["\u003cp\u003eTo delete a queue, remove its definition from \u003ccode\u003equeue.yaml\u003c/code\u003e, upload the changes, and then delete the queue in the Google Cloud console, where you must wait 7 days before reusing the same name.\u003c/p\u003e\n"]]],[],null,["# queue.yaml Reference\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n### Region ID\n\nThe \u003cvar translate=\"no\"\u003eREGION_ID\u003c/var\u003e is an abbreviated code that Google assigns\nbased on the region you select when you create your app. The code does not\ncorrespond to a country or province, even though some region IDs may appear\nsimilar to commonly used country and province codes. For apps created after\nFebruary 2020, \u003cvar translate=\"no\"\u003eREGION_ID\u003c/var\u003e`.r` is included in\nApp Engine URLs. For existing apps created before this date, the\nregion ID is optional in the URL.\n\nLearn more\n[about region IDs](/appengine/docs/legacy/standard/python/how-requests-are-routed#region-id). \nOK \nGo Java Node.js PHP Python Ruby\n\nThe `queue.yaml` configuration file is used to create and configure almost all\nof the task queues\n\n\nyour app uses. All App Engine apps come with\nan automatically preconfigured push queue named `default`. Although you do not\ncreate the `default` queue yourself, you can add other queues or change the\nconfiguration of the `default` queue using the `queue.yaml` file.\n\nTo configure\n\nyou can use either `queue.yaml` or\n[Queue Management](/tasks/docs/queue-yaml) methods from Cloud Tasks, but\n[not both](/tasks/docs/queue-yaml#pitfalls) at the same time. Mixing the\n`queue.yaml` upload method with Queue Management methods can produce unexpected\nresults and is not recommended.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| **Caution:** When uploading a `queue.yaml` file via the gcloud CLI below version `332.0.0` uses a deprecated interface to the service. Starting on `2022-09-20`, attempts to use the upload method can fail with server errors. To resolve this, make sure the Cloud Tasks API is enabled in your project and your gcloud CLI is updated to at least version `332.0.0`.\n\nExample\n-------\n\nThe following a basic example that defines a named queue and overrides the\ndefault processing rate: \n\n queue:\n - name: my-push-queue\n rate: 1/s\n\nThe following is a more complex example of a `queue.yaml` configuration that\ndemonstrates setting up the number of task tries and modifying the default\nprocessing rate. \n\n queue:\n - name: fooqueue\n rate: 1/s\n retry_parameters:\n task_retry_limit: 7\n task_age_limit: 2d\n - name: barqueue\n rate: 1/s\n retry_parameters:\n min_backoff_seconds: 10\n max_backoff_seconds: 200\n max_doublings: 0\n - name: bazqueue\n rate: 1/s\n retry_parameters:\n min_backoff_seconds: 10\n max_backoff_seconds: 200\n max_doublings: 3\n\nSyntax\n------\n\nThe `queue.yaml` file is a YAML file whose root directive is `queue`.\nThis directive contains zero or more named queues. Each queue definition can\nspecify the following elements:\n\nDeploying the queue configuration file\n--------------------------------------\n\nDeleting queues\n---------------\n\nTo delete a queue:\n\n1. Remove the queue definition from your `queue.yaml` file.\n\n2. Upload the change to your `queue.yaml` file.\n\n gcloud app deploy queue.yaml\n3. Delete the queue in the Google Cloud console, select the queue and click\n **Delete queue**:\n\n [Go to the Task queues page](https://console.cloud.google.com/appengine/taskqueues)\n\nIf you delete a queue from the Google Cloud console, you must wait 7 days\nbefore recreating with the same name."]]