De forma predeterminada, si un trabajo de Cloud Scheduler no recibe una confirmación de su controlador, se considera que el trabajo falló y se volverá a intentar según la retirada exponencial que hayas configurado. Puedes determinar este comportamiento de reintento de las siguientes maneras cuando creas o actualizas un trabajo de Cloud Scheduler:
Cómo realizar una solicitud directa a la API y configurar los parámetros de configuración de un recurso
Job
RetryConfig
Configuración de reintentos
En las siguientes tablas, se describen los parámetros de configuración de reintentos que puedes establecer.
Cantidad máxima de reintentos
Es la cantidad de intentos que realizará el sistema para ejecutar un trabajo con el procedimiento de retirada exponencial que describe maxDoublings
.
Descripción | Si Si No se permiten valores superiores a 5 ni valores negativos. |
Predeterminado | El valor predeterminado es 0. |
Etiqueta de la consola | Cantidad máx. de reintentos |
Marca CLI | --max-retry-attempts |
Campo de API | retryCount |
Duración máxima del reintento
Es el límite de tiempo para reintentar un trabajo con errores, medido desde el momento en que se intentó realizar una ejecución por primera vez. Si se especifica con retryCount
, se volverá a intentar el trabajo hasta que se alcancen ambos límites.
Descripción | Una duración en segundos con hasta nueve dígitos decimales, que termina con "s", por ejemplo, "3.5s". Una duración de 0 significa que la duración del reintento es ilimitada. Sin embargo, si |
Predeterminado | El valor predeterminado es 0 segundos. |
Etiqueta de la consola | Duración máx. del reintento |
Marca CLI | --max-retry-duration |
Campo de API | maxRetryDuration |
Duración mínima de la retirada
Es la cantidad mínima de tiempo que se debe esperar antes de reintentar un trabajo después de que falla.
Descripción | Una duración en segundos con hasta nueve dígitos decimales, que termina con "s", por ejemplo, "3.5s". |
Predeterminado | El tiempo predeterminado es 5 segundos. |
Etiqueta de la consola | Duración mín. de la retirada |
Marca CLI | --min-backoff |
Campo de API | minBackoffDuration |
Duración máxima de la retirada
Es la cantidad máxima de tiempo que se espera antes de reintentar un trabajo después de que falla.
Descripción | Una duración en segundos con hasta nueve dígitos decimales, que termina con "s", por ejemplo, "3.5s". |
Predeterminado | El valor predeterminado es 3,600 segundos (1 hora). |
Etiqueta de la consola | Duración máxima de la retirada |
Marca CLI | --max-backoff |
Campo de API | maxBackoffDuration |
Duplicaciones máximas
Cantidad máxima de veces que se duplicará el intervalo entre los reintentos de los trabajos con errores antes de que el aumento se vuelva constante.
Descripción | El tiempo entre reintentos se duplicará maxDoublings veces.
El intervalo de reintento de un trabajo comienza en Si
Por lo tanto, las solicitudes se reintentarán a los 10 s, 20 s, 40 s, 80 s y 160 s. Si
Por lo tanto, las solicitudes se reintentarán a los 10 s, 20 s, 40 s, 120 s y 120 s. |
Predeterminado | El valor predeterminado es 5. |
Etiqueta de la consola | Duplicaciones máximas |
Marca CLI | --max-doublings |
Campo de API | maxDoublings |
Ejemplos de reintentos
En los siguientes ejemplos, se muestra el comportamiento de reintento cuando un trabajo de Cloud Scheduler no se completa correctamente.
- Si no se configuran
retryCount
nimaxRetryDuration
Ambos parámetros de configuración tienen el valor predeterminado 0, y el trabajo no se reintenta.
Ten en cuenta que Cloud Scheduler intentará ejecutar el trabajo en la próxima hora de ejecución programada.
- Si se configuran
retryCount
ymaxRetryDuration
El trabajo se reintentará al menos
retryCount
veces hasta alcanzarmaxRetryDuration
.Ten en cuenta que el trabajo podría volver a intentarse más veces que el valor de
retryCount
.- Si se configura
retryCount
y no se configuramaxRetryDuration
El parámetro de configuración
maxRetryDuration
se establece de forma predeterminada en 0, y el trabajo se reintentará exactamenteretryCount
veces.- Si
retryCount
no está configurado ymaxRetryDuration
sí El trabajo se reintentará cualquier cantidad de veces (hasta un máximo de 5) o hasta que se alcance
maxRetryDuration
.