De forma predeterminada, si un trabajo de Cloud Scheduler no recibe una confirmación de su controlador, se considera que ha fallado y se volverá a intentar según el retroceso exponencial que hayas configurado. Puedes determinar este comportamiento de reintento de las siguientes formas al crear o actualizar una tarea de Cloud Scheduler:
Hacer una solicitud directa a la API y configurar los
RetryConfig
ajustes de un recursoJob
Reintentar configuración
En las siguientes tablas se describen los ajustes de reintento que puede configurar.
Número máximo de reintentos
Número de intentos que realizará el sistema para ejecutar una tarea mediante el procedimiento de espera exponencial descrito en maxDoublings
.
Descripción | Si Si No se admiten valores superiores a 5 ni valores negativos. |
Predeterminado | El valor predeterminado es 0. |
Etiqueta de consola | Número máximo de reintentos |
Marca de CLI | --max-retry-attempts |
Campo de la API | retryCount |
Duración máxima de los reintentos
El límite de tiempo para volver a intentar un trabajo fallido, medido desde el momento en que se intentó ejecutar por primera vez. Si se especifica con retryCount
, la tarea se volverá a intentar hasta que se alcancen ambos límites.
Descripción | Duración en segundos con hasta nueve dígitos fraccionarios, que termina con "s" (por ejemplo, "3.5s"). Una duración de 0 significa que la duración de los reintentos es ilimitada. Sin embargo, si
|
Predeterminado | El valor predeterminado es 0 segundos. |
Etiqueta de consola | Duración máxima de los reintentos |
Marca de CLI | --max-retry-duration |
Campo de la API | maxRetryDuration |
Duración mínima del tiempo de espera
Tiempo mínimo que se debe esperar antes de volver a intentar un trabajo después de que falle.
Descripción | Duración en segundos con hasta nueve dígitos fraccionarios, que termina con "s" (por ejemplo, "3.5s"). |
Predeterminado | El valor predeterminado es 5 segundos. |
Etiqueta de consola | Duración mínima del tiempo de espera |
Marca de CLI | --min-backoff |
Campo de la API | minBackoffDuration |
Duración máxima del tiempo de espera
Tiempo máximo que se espera antes de volver a intentar una tarea después de que falle.
Descripción | Duración en segundos con hasta nueve dígitos fraccionarios, que termina con "s" (por ejemplo, "3.5s"). |
Predeterminado | El valor predeterminado es 3600 segundos (1 hora). |
Etiqueta de consola | Duración máxima del tiempo de espera |
Marca de CLI | --max-backoff |
Campo de la API | maxBackoffDuration |
Número máximo de duplicaciones
Número máximo de veces que se duplicará el intervalo entre los reintentos de una tarea fallida antes de que el aumento se convierta en constante.
Descripción | El tiempo entre reintentos se duplicará maxDoublings veces.
El intervalo de reintento de un trabajo empieza en Si
Por lo tanto, las solicitudes se volverán a intentar a los 10, 20, 40, 80 y 160 segundos. Si
Por lo tanto, las solicitudes se volverán a intentar a los 10, 20, 40, 120 y 120 segundos. |
Predeterminado | El valor predeterminado es 5. |
Etiqueta de consola | Número máximo de duplicaciones |
Marca de CLI | --max-doublings |
Campo de la API | maxDoublings |
Ejemplos de reintentos
En los ejemplos siguientes se muestra el comportamiento de reintento cuando un trabajo de Cloud Scheduler no se completa correctamente.
- Si no se han definido
retryCount
nimaxRetryDuration
Ambos ajustes tienen el valor predeterminado 0 y el trabajo no se vuelve a intentar.
Ten en cuenta que Cloud Scheduler intentará ejecutar el trabajo a la siguiente hora de ejecución programada.
- Si se han definido
retryCount
ymaxRetryDuration
El trabajo se volverá a intentar 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 define
retryCount
y no se definemaxRetryDuration
El valor predeterminado del ajuste
maxRetryDuration
es 0 y la tarea se volverá a intentar exactamenteretryCount
veces.- Si no se ha definido
retryCount
y símaxRetryDuration
La tarea se volverá a intentar cualquier número de veces (hasta un máximo de 5 veces) o hasta que se alcance
maxRetryDuration
.