Cuando creas una tarea, puedes especificar la cantidad máxima de veces que se debe reintentar una tarea con errores, establecer un límite de tiempo para los reintentos y controlar el intervalo entre intentos con el método projects.locations.queues.tasks.create. Una vez que una tarea se ejecuta correctamente, se quita de la cola. En todos los casos, también se aplica el límite de retención máxima de tareas.
Esta configuración de reintentos a nivel de la tarea anula la configuración de reintentos a nivel de la fila para la tarea.
Configura reintentos cuando crees una tarea
En el siguiente ejemplo, se muestra cómo configurar parámetros de reintento cuando se crea una tarea de destino HTTP enviando una solicitud directa a la API de Cloud Tasks. Puedes usar los mismos parámetros de reintento cuando crees una tarea de App Engine. Para obtener más detalles sobre los parámetros, consulta la configuración de RetryConfig para el recurso Task.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID: Obligatorio. ID del proyecto de Google Cloud en el que se creará la tarea.REGION: Obligatorio. La región en la que se implementa la cola, por ejemplo,us-central1.QUEUE_ID: Obligatorio. ID de la cola a la que se agregará la tarea.URL: Obligatorio. Es la URL completamente calificada a la que se enviará la solicitud. Esta cadena debe comenzar conhttp://ohttps://, por ejemplo:https://www.example.com.SERVICE_ACCOUNT_EMAIL: Opcional. Es la dirección de correo electrónico de la cuenta de servicio que se usa para generar un token de autorización que se incluye en la solicitud enviada al destino cuando se ejecuta la tarea. La cuenta de servicio debe estar en el mismo proyecto que la cola. El llamador debe tener el permisoiam.serviceAccounts.actAspara la cuenta de servicio.Para generar un token de acceso de OAuth2 en lugar de un token de OpenID Connect, reemplaza el campo
oidcTokenporoauthTokenpara especificar el correo electrónico de la cuenta de servicio.MAX_ATTEMPTS: es opcional. Cantidad máxima de intentos de una tarea, incluido el primero. Para permitir una cantidad ilimitada de reintentos, configura este parámetro en-1.MAX_RETRY_DURATIONse sigue aplicando incluso si se alcanzaMAX_ATTEMPTSo se establece en-1.MAX_RETRY_DURATION: es opcional. Es la cantidad máxima de tiempo que debe esperarse antes de reintentar una tarea con errores, medida desde el momento en que se intentó realizar la tarea por primera vez. El valor debe ser una string que termine en "s", como5s. Para especificar una duración ilimitada, establece este valor en0s.MAX_ATTEMPTSse sigue aplicando incluso si se alcanzaMAX_RETRY_DURATIONo se configura como0s.MIN_INTERVAL: es opcional. Es la cantidad mínima de tiempo que se debe esperar entre los intentos. El valor debe ser una cadena que termine en "s", como5s.MAX_INTERVAL: es opcional. Es la cantidad máxima de tiempo que debe esperarse entre dos intentos. El valor debe ser una cadena que termine en "s", como5s.MAX_DOUBLINGS: es opcional. Es la cantidad máxima de veces que se duplicará el intervalo entre los reintentos de las tareas con errores antes de que el aumento se vuelva constante. El intervalo de reintento de una tarea comienza enMIN_INTERVAL, luego se duplicaMAX_DOUBLINGSveces, después aumenta de forma lineal y, por último, se reintenta en intervalos deMAX_INTERVALhastaMAX_ATTEMPTSveces.Por ejemplo, si
MIN_INTERVALes10s,MAX_INTERVALes300syMAX_DOUBLINGSes3, el intervalo de reintento se duplicará3veces, aumentará linealmente en 2^3 * 10 s y, luego, se reintentará en intervalos deMAX_INTERVALhasta que se haya intentado la tareaMAX_ATTEMPTSveces: 10 s, 20 s, 40 s, 80 s, 160 s, 240 s, 300 s, 300 s, etcétera.SCHEDULE_TIME: es opcional. Fecha y hora en que se programó el intento de la tarea, en formato RFC 3339, por ejemplo,2026-10-02T15:01:23Z. Si no se establece la hora o esta ya pasó, Cloud Tasks la establecerá en la hora actual.
Cuerpo JSON de la solicitud:
{
"task": {
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME"
}
}
Para enviar tu solicitud, expande una de estas opciones:
Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene la instancia recién creada del recurso Task.
{
"name": "projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID",
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"headers": {
"User-Agent": "Google-Cloud-Tasks"
},
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL",
"audience": "URL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME",
"createTime": "2026-04-30T19:11:50Z",
"dispatchDeadline": "600s",
"view": "BASIC"
}
¿Qué sigue?
- Crea colas de Cloud Tasks
- Crea tareas de Cloud Tasks
- Configura colas
- Administra las colas y las tareas