Par défaut, si un job Cloud Scheduler ne reçoit pas d'accusé de réception de son gestionnaire, il est considéré comme ayant échoué et une nouvelle tentative est effectuée en fonction de l'intervalle exponentiel entre les tentatives que vous avez configuré. Vous pouvez déterminer ce comportement de nouvelle tentative de différentes manières lorsque vous créez ou mettez à jour un job Cloud Scheduler :
Envoyer une requête API directe et configurer les paramètres
RetryConfig
d'une ressourceJob
Paramètres de réessai
Les tableaux suivants décrivent les paramètres de nouvelle tentative que vous pouvez configurer.
Nombre maximal de nouvelles tentatives
Nombre de tentatives que le système effectuera pour exécuter un job à l'aide de la procédure d'intervalle exponentiel entre les tentatives décrite par maxDoublings
.
Description | Si Si Les valeurs supérieures à 5 et les valeurs négatives ne sont pas autorisées. |
Par défaut | La valeur par défaut est "0". |
Libellé de la console | Nombre maximal de nouvelles tentatives |
Option de la CLI | --max-retry-attempts |
Champ de l'API | retryCount |
Durée maximale de nouvelle tentative
Délai maximal pour une nouvelle tentative d'exécution d'un job ayant échoué, mesuré à partir du moment où une exécution a été tentée pour la première fois. Si ce nombre est spécifié avec retryCount
, le job sera relancé jusqu'à ce que les deux limites soient atteintes.
Description | Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s" (par exemple, "3.5s"). Une durée de 0 signifie que la durée de la nouvelle tentative est illimitée. Toutefois, si |
Par défaut | La valeur par défaut est de 0 seconde. |
Libellé de la console | Durée maximale de nouvelle tentative |
Option de la CLI | --max-retry-duration |
Champ de l'API | maxRetryDuration |
Intervalle minimal entre les tentatives
Délai minimal d'attente avant de relancer une tâche ayant échoué.
Description | Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s" (par exemple, "3.5s"). |
Par défaut | La valeur par défaut est de 5 secondes. |
Libellé de la console | Intervalle minimal entre les tentatives |
Option de la CLI | --min-backoff |
Champ de l'API | minBackoffDuration |
Intervalle maximal entre les tentatives
Délai maximal d'attente avant de relancer une tâche ayant échoué.
Description | Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s" (par exemple, "3.5s"). |
Par défaut | La valeur par défaut est de 3 600 secondes (1 heure). |
Libellé de la console | Durée maximale de l'intervalle entre les tentatives |
Option de la CLI | --max-backoff |
Champ de l'API | maxBackoffDuration |
Nombre maximal de doublements
Nombre maximal de fois où l'intervalle entre les tentatives d'exécution de tâches ayant échoué est doublé avant que l'augmentation ne devienne constante.
Description | Le délai entre les nouvelles tentatives sera doublé maxDoublings fois.
L'intervalle de relance d'un job commence à Si
Les requêtes seront donc relancées à 10, 20, 40, 80 et 160 secondes. Si
Les requêtes seront donc relancées après 10 s, 20 s, 40 s, 120 s et 120 s. |
Par défaut | La valeur par défaut est 5. |
Libellé de la console | Nombre maximal de doublements |
Option de la CLI | --max-doublings |
Champ de l'API | maxDoublings |
Exemples de nouvelles tentatives
Les exemples suivants illustrent le comportement de réessai lorsqu'un job Cloud Scheduler ne se termine pas correctement.
- Si
retryCount
etmaxRetryDuration
ne sont pas définis Les deux paramètres sont définis sur 0 par défaut, et le job n'est pas relancé.
Notez que Cloud Scheduler tentera d'exécuter le job à la prochaine heure d'exécution programmée.
- Si
retryCount
etmaxRetryDuration
sont définis Le job fera l'objet d'au moins
retryCount
nouvelles tentatives jusqu'à atteindremaxRetryDuration
.Notez que le job peut être relancé plus de fois que la valeur
retryCount
.- Si
retryCount
est défini et quemaxRetryDuration
ne l'est pas Le paramètre
maxRetryDuration
est défini sur 0 par défaut, et le job sera relancé exactementretryCount
fois.- Si
retryCount
n'est pas défini et quemaxRetryDuration
l'est La tâche sera relancée un certain nombre de fois (jusqu'à cinq fois) ou jusqu'à ce que
maxRetryDuration
soit atteint.