ID de región
REGION_ID es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país ni a una provincia, aunque algunos IDs de región pueden parecerse a códigos de país y provincia de uso habitual. En el caso de las aplicaciones creadas después de
febrero del 2020, REGION_ID.r se incluye en
las URLs de App Engine. En el caso de las aplicaciones creadas antes de esta fecha, el
ID de región es opcional en la URL.
Más información sobre los IDs de región.
El archivo de configuración queue.yaml se utiliza para crear y configurar casi todas
las colas de tareas (de salida o de entrada) que usa tu aplicación. Todas las aplicaciones de App Engine incluyen una cola de salida preconfigurada automáticamente llamada default. Aunque no crees la cola default tú mismo, puedes añadir otras colas o cambiar la configuración de la cola default mediante el archivo queue.yaml.
Para configurar colas de salida, puedes usar queue.yaml o
los métodos de gestión de colas de Cloud Tasks, pero
no ambos a la vez. Si combinas el método de subida de queue.yaml con los métodos de gestión de colas, pueden producirse resultados inesperados, por lo que no se recomienda.
Para configurar colas para tareas extraídas, debes usar el archivo queue.yaml.
Cloud Tasks no admite colas para tareas extraídas.
Ejemplo
A continuación, se muestra un ejemplo básico que define una cola con nombre y anula la tasa de procesamiento predeterminada:
queue:
- name: my-push-queue
rate: 1/s
A continuación, se muestra un ejemplo más complejo de una configuración de queue.yaml que muestra cómo configurar el número de intentos de tarea y modificar la tasa de procesamiento predeterminada.
queue:
- name: fooqueue
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
- name: bazqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 3
Sintaxis
El archivo queue.yaml es un archivo YAML cuya directiva raíz es queue.
Esta directiva contiene cero o más colas con nombre. Cada definición de cola puede especificar los siguientes elementos:
| Elemento | Descripción |
|---|---|
bucket_size (colas de salida) |
Opcional. Una cola de tareas utiliza el algoritmo de segmento de token para controlar la tasa de ejecución de tareas. Cada cola con nombre tiene un segmento de token que contiene tokens, hasta el máximo especificado por el bucket_size valor. Cada vez que tu aplicación ejecuta una tarea, se quita un token del depósito. Las tareas de la cola se siguen procesando hasta que el depósito de la cola se queda sin tokens. App Engine rellena el depósito con tokens nuevos de forma continua en función de la tasa que hayas especificado para la cola. El tamaño del depósito limita la velocidad con la que se procesa la cola cuando hay muchas tareas están en la cola y la tasa es alta. El valor máximo del tamaño del depósito es 500. Esto te permite tener una tasa alta para que el procesamiento empiece poco después de que se ponga una tarea en cola, pero aun así limitar el uso de recursos cuando se ponen en cola muchas tareas en un breve periodo de tiempo. Si no especificas bucket_size para una cola, el valor predeterminado es 5. Te recomendamos que definas un valor mayor ya que el tamaño predeterminado puede ser demasiado pequeño para muchos casos prácticos. Por ejemplo, puedes determinar el tamaño del depósito en función de la tasa de procesamiento. Para obtener más información sobre este elemento, consulta la descripción comparativa de
|
max_concurrent_requests (colas de salida) |
Opcional. Define el número máximo de tareas que se pueden ejecutar simultáneamente desde la cola especificada. El valor es un número entero. De forma predeterminada, el límite es de 1000 tareas por cola. El límite superior recomendado es de 5000 tareas por cola. Ten en cuenta que las colas pueden aumentar lentamente cuando se crean por primera vez o si han estado inactivas durante un tiempo. Si restringes el número de tareas simultáneas, tendrás más control sobre la tasa de ejecución de la cola y podrás evitar que se ejecuten demasiadas tareas a la vez. También puedes evitar la contención de Datastore y hacer que los recursos estén disponibles para otras colas o para el procesamiento online. Para obtener más información sobre este elemento, consulta la descripción comparativa de
|
mode |
Opcional.
Identifica el modo de la cola. Este ajuste tiene el valor predeterminado |
name |
Obligatorio.
El nombre de la cola. Este es el nombre que especificas cuando llamas a
El nombre de una cola puede contener letras mayúsculas y minúsculas, números y guiones. La longitud máxima del nombre de una cola es de 100 caracteres.
Todas las aplicaciones tienen una cola de salida llamada default. Esta cola tiene una tasa predefinida
de 5 tareas por segundo. Ten en cuenta que esta cola predeterminada no se muestra en
la Google Cloud console consola de Cloud hasta que se usa o se configura por primera vez.
Puedes configurar la cola predeterminada, incluido el cambio de la tasa predeterminada,
definiendo una cola llamada `default` en el archivo |
rate (colas de salida) |
Obligatorio.
La frecuencia con la que las tareas se procesan en esta cola. El valor es un número
seguido de una barra y una unidad de tiempo, donde la unidad es
Si el número es Para obtener más información sobre este elemento, consulta la descripción comparativa de
|
retry_parameters |
Opcional. Configura los intentos de reintento de las tareas fallidas en las colas de salida. Esta adición te permite especificar el número máximo de veces que se deben reintentar las tareas fallidas en una cola específica. También puedes definir un límite de tiempo para los intentos de reintento y controlar el intervalo entre intentos. Los parámetros de reintento pueden contener los siguientes subelementos:
|
target (colas de salida) |
Opcional. Una cadena que indica un servicio o una versión, una versión de frontend o un backend, en el que se deben ejecutar todas las tareas puestas en cola en esta cola. El valor predeterminado es la cadena vacía.
La cadena se antepone al nombre de dominio de tu aplicación al
crear la solicitud HTTP de una tarea. Por ejemplo, si el ID de tu aplicación
es Si no se especifica el destino, las tareas se invocan en la misma versión de la aplicación en la que 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 invocará 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 se pone en cola la tarea y el momento en que se ejecuta, la tarea se ejecutará en la nueva versión predeterminada. Si usas servicios junto con un archivo de distribución, la solicitud HTTP de tu tarea puede interceptarse y redirigirse a otro servicio. |
Los siguientes elementos se pueden especificar para todas las colas de una aplicación:
| Elemento | Descripción |
|---|---|
total_storage_limit |
Opcional. Una cadena que anula el límite de almacenamiento de cuota predeterminado que está disponible para el almacenamiento de colas de tareas (100 MB). Por ejemplo: total_storage_limit: 1.2G queue: - name: fooqueue Esta cuota forma parte de la cuota de almacenamiento total de la aplicación (incluidas las cuotas de Datastore y Blobstore). Si no se especifica ningún sufijo, el número que especifiques se interpreta como bytes. Se admiten los siguientes sufijos:
|
Implementar el archivo de configuración de la cola
El archivo queue.yaml debe residir en el directorio raíz o en el directorio
que define el servicio predeterminado.
Para implementar el archivo de configuración de la cola, ejecuta el siguiente comando:
gcloud app deploy queue.yaml
Eliminar colas
Para eliminar una cola, sigue estos pasos:
Quita la definición de la cola del archivo
queue.yaml.Sube el cambio al archivo
queue.yaml.gcloud app deploy queue.yaml
Elimina la cola en la Google Cloud consola de Cloud. Para ello, selecciona la cola y haz clic en Eliminar cola:
Si eliminas una cola de la Google Cloud consola de Cloud, debes esperar 7 días antes de volver a crearla con el mismo nombre.