Elige el método de creación de tareas

Puedes crear tareas HTTP con el método BufferTask o CreateTask. En esta página, se proporciona orientación para elegir entre los dos métodos para crear tareas HTTP.

El método BufferTask te permite crear una tarea a través del envío de una solicitud HTTP al en la fila. El método CreateTask te permite crear una tarea mediante la construcción del objeto de tarea. En la mayoría de los casos de uso, no es necesario construir de forma explícita el objeto de tarea. El mejor método para crear tareas depende de si tu fila tiene enrutamiento a nivel de la fila.

Antes de comenzar

Consulta la siguiente lista de casos de uso para ver si alguno se aplica a tu caso:

  • Quieres crear tareas con la API de RPC o bibliotecas cliente (en lugar de la API de REST).
  • Quieres crear tareas como objetos de tarea de App Engine (en lugar de los objetos de tareas más típicos para objetivos HTTP genéricos que pueden ser o no objetivos de App Engine).

Si alguna de estas opciones se aplica a tu caso, no es necesario que elijas el método de creación de tareas, ya que solo se admite uno (el método CreateTask). Ve directamente a la documentación de CreateTask para tu tipo de tarea:

Verifica si tu cola tiene enrutamiento a nivel de la cola

  1. Ejecuta el siguiente comando de gcloud CLI en tu terminal:

    gcloud tasks queues describe QUEUE_NAME

    Reemplaza QUEUE_NAME por el nombre de la cola.

  2. En el resultado, busca el campo httpTarget y comprueba si se configuró uriOverride.

Colas con enrutamiento a nivel de cola

En el caso de las colas con enrutamiento a nivel de la cola, el método de creación de tareas depende de los requisitos de enrutamiento de la tarea:

  • La tarea tiene los mismos requisitos de enrutamiento que se especifican a nivel de la cola: Usa BufferTask. Aprende a crear tareas con el método BufferTask.
  • La tarea tiene requisitos de enrutamiento diferentes de los especificados a nivel de la cola: Establece UriOverrideEnforceMode de la fila en IF_NOT_EXISTS para asegurarte de que el enrutamiento a nivel de la fila se aplique a las tareas para las que no existe el enrutamiento (por ejemplo, tareas BufferTask), pero respeta el enrutamiento de las tareas que tienen sus propias especificaciones de enrutamiento. Luego, utiliza CreateTask Este método te permite especificar el enrutamiento individual de la tarea. Aprende a crear tareas con el método CreateTask.

Colas sin enrutamiento a nivel de cola

Para colas sin enrutamiento a nivel de cola, crea tareas mediante CreateTask método (o configurar enrutamiento a nivel de la cola). El método CreateTask incluye especificar el enrutamiento para la tarea, que es obligatorio para las colas que aún no tienen información de enrutamiento a nivel de la cola. Aprende a crear tareas con la CreateTask .

Comprende el enrutamiento a nivel de la cola

El enrutamiento a nivel de la cola te permite especificar información de enrutamiento predeterminada para las tareas según la cola en la que se encuentran. Puedes especificar si deseas que el enrutamiento predeterminado se aplique solo a las tareas que no tienen su propia información de enrutamiento o a todas las tareas.

Elige el enrutamiento a nivel de la cola si quieres hacer lo siguiente:

  • Crear tareas con solicitudes HTTP estándar (en lugar de construirlas) objeto)
  • Usa una cola como búfer frente a un servicio de destino

El enfoque por segmentación

El enrutamiento a nivel de cola funciona mejor con arquitecturas que usan una cola para cada una servicio de destino. Este modelo te permite hacer lo siguiente:

  • Administrar tareas según su objetivo (por ejemplo, redireccionar un grupo de tareas si el servicio de destino está inactivo)
  • Cómo enviar todas las tareas de una cola al mismo destino
  • Crear tareas sin construir explícitamente el objeto de tarea con el Método BufferTask

Activa y desactiva el comportamiento de anulación a nivel de la cola

Una vez que configures el enrutamiento a nivel de cola, puedes decidir cuándo se aplicará configurar la fila UriOverrideEnforceMode.

  • IF_NOT_EXISTS: La planificación a nivel de la cola solo se aplica cuando una tarea no contiene su propia información de planificación. Usa este parámetro de configuración si deseas que la fila pueda enviar tareas a diferentes destinos.
  • ALWAYS: El enrutamiento a nivel de cola siempre se aplica, incluso si una tarea contiene su tu propia información de enrutamiento. Toda información de enrutamiento establecida a nivel de tarea es anulada por el enrutamiento a nivel de la cola. Usa este parámetro de configuración si deseas exigir que las tareas de una cola determinada usen la misma información de enrutamiento.