Por padrão, se um job do Cloud Scheduler não receber um reconhecimento do gerenciador, ele será considerado com falha e vai tentar novamente de acordo com a espera exponencial configurada. É possível determinar esse comportamento de repetição das seguintes maneiras ao criar ou atualizar um job do Cloud Scheduler:
Fazer uma solicitação direta de API e configurar as
RetryConfig
de um recursoJob
Tentar novamente as configurações
As tabelas a seguir descrevem as configurações de nova tentativa que podem ser definidas.
Máximo de tentativas de repetição
O número de tentativas que o sistema fará para executar um job usando o procedimento de espera exponencial descrito por maxDoublings
.
Descrição | Se Se Valores maiores que 5 e negativos não são permitidos. |
Padrão | O padrão é 0. |
Marcador do console | Máximo de tentativas de repetição |
Sinalização da CLI | --max-retry-attempts |
Campo da API | retryCount |
Duração máxima da nova tentativa
O limite de tempo para tentar novamente um job com falha, medido a partir do momento em que uma
execução foi tentada pela primeira vez. Se especificado com retryCount
, o job será
repetido até que ambos os limites sejam atingidos.
Descrição | Uma duração em segundos com até nove dígitos fracionários, terminando com "s", por exemplo, "3.5s". Uma duração de 0 significa que a duração da nova tentativa é ilimitada. No entanto, se |
Padrão | O padrão é 0 segundo. |
Marcador do console | Duração máxima da nova tentativa |
Sinalização da CLI | --max-retry-duration |
Campo da API | maxRetryDuration |
Duração mínima de espera
O tempo mínimo de espera antes de tentar novamente um job após a falha.
Descrição | Uma duração em segundos com até nove dígitos fracionários, terminando com "s", por exemplo, "3.5s". |
Padrão | O padrão é 5 segundos. |
Marcador do console | Duração mínima de espera |
Sinalização da CLI | --min-backoff |
Campo da API | minBackoffDuration |
Duração máxima de espera
O tempo máximo de espera antes de tentar novamente depois que o job falhar.
Descrição | Uma duração em segundos com até nove dígitos fracionários, terminando com "s", por exemplo, "3.5s". |
Padrão | O padrão é 3.600 segundos (1 hora). |
Marcador do console | Duração máxima de espera |
Sinalização da CLI | --max-backoff |
Campo da API | maxBackoffDuration |
Nº máximo de duplicações
Número máximo de vezes que o intervalo entre novas tentativas de jobs com falha será dobrado antes que o aumento se torne constante.
Descrição | O tempo entre novas tentativas será dobrado maxDoublings vezes.
O intervalo de repetição de um job começa em Se
Assim, as solicitações serão repetidas em 10s, 20s, 40s, 80s e 160s. Se
Assim, as solicitações serão repetidas em 10s, 20s, 40s, 120s e 120s. |
Padrão | O padrão é 5. |
Marcador do console | Nº máximo de duplicações |
Sinalização da CLI | --max-doublings |
Campo da API | maxDoublings |
Exemplos de repetição
Os exemplos a seguir demonstram o comportamento de novas tentativas quando um job do Cloud Scheduler não é concluído.
- Se
retryCount
emaxRetryDuration
não estiverem definidos As duas configurações têm o valor padrão 0, e o job não é repetido.
O Cloud Scheduler vai tentar executar o job no próximo horário de execução programado.
- Se
retryCount
emaxRetryDuration
forem definidos O job vai tentar novamente pelo menos
retryCount
vezes até atingirmaxRetryDuration
.O job pode tentar novamente mais vezes do que o
retryCount
.- Se
retryCount
estiver definido emaxRetryDuration
não estiver A configuração
maxRetryDuration
tem como padrão 0, e o job vai tentar novamente exatamenteretryCount
vezes.- Se
retryCount
não estiver definido emaxRetryDuration
estiver O job vai tentar novamente qualquer número de vezes (até um máximo de 5 vezes) ou até atingir
maxRetryDuration
.