Puedes usar Cloud Tasks para poner en cola un flujo de trabajo y ejecutarlo de forma asíncrona.
Cloud Tasks ofrece los siguientes controles:
- Programar horas de entrega específicas
- Administrar las frecuencias de envío
- Configurar el comportamiento de reintento
- Acceder y administrar tareas individuales en una cola
- Habilitar la anulación de duplicación de tareas
Estos controles pueden ser útiles, por ejemplo, para administrar solicitudes que activan un flujo de trabajo y que podrían exceder de forma inesperada los límites de Workflows. Si configuras una cola de Cloud Tasks con límites de frecuencia y reintentos, puedes asegurarte de que todas esas solicitudes generen ejecuciones de flujo de trabajo.
Para obtener más información, consulta Comprende Cloud Tasks.
Ten en cuenta lo siguiente:
Debes basar el límite de frecuencia en el límite de Workflows para solicitudes de escritura de la API de Execution. Si es necesario, puedes solicitar un ajuste de la mayoría de las cuotas en la Google Cloud consola de. Obtén más información sobre los ajustes de cuota.
Cloud Tasks está diseñado para brindar una entrega “al menos una vez”. Sin embargo, Workflows no garantiza el procesamiento exactamente una vez de las solicitudes duplicadas de Cloud Tasks.
Puedes quitar los retrasos de ejecución y maximizar la capacidad de procesamiento si habilitas el registro de ejecuciones pendientes en Workflows. Las ejecuciones pendientes se ejecutan automáticamente en cuanto la cuota de simultaneidad de ejecución está disponible. Para obtener más información, consulta Administra el registro de ejecuciones pendientes.
Antes de comenzar
- Si aún no tienes un flujo de trabajo que quieras poner en cola, crea uno.
Habilita la API de Cloud Tasks.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol Propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.
Poner en cola una tarea para ejecutar un flujo de trabajo
Crea una cuenta de servicio para que Cloud Tasks pueda realizar solicitudes a la API de Workflows: