Por predefinição, se uma tarefa do Cloud Scheduler não receber uma confirmação do respetivo controlador, considera-se que a tarefa falhou e vai ser repetida de acordo com o recuo exponencial que configurou. Pode determinar este comportamento de repetição das seguintes formas quando cria ou atualiza uma tarefa do Cloud Scheduler:
Fazer um pedido direto à API e configurar as
RetryConfig
definições de um recursoJob
Tentar novamente as definições
As tabelas seguintes descrevem as definições de repetição que pode configurar.
Número máximo de tentativas
O número de tentativas que o sistema vai fazer para executar uma tarefa através do procedimento de recuo exponencial descrito em maxDoublings
.
Descrição | Se Se Não são permitidos valores superiores a 5 nem valores negativos. |
Predefinição | A predefinição é 0. |
Etiqueta da consola | Tentativas máximas de repetição |
Sinalização da CLI | --max-retry-attempts |
Campo da API | retryCount |
Duração máxima de repetição
O limite de tempo para repetir uma tarefa com falha, medido a partir do momento em que uma execução foi tentada pela primeira vez. Se especificado com retryCount
, a tarefa é
repetida até atingir ambos os limites.
Descrição | Uma duração em segundos com até nove dígitos fracionários, que termina com "s", por exemplo, "3,5 s". Uma duração de 0 significa que a duração da nova tentativa é ilimitada. No entanto, se
|
Predefinição | A predefinição é 0 segundos. |
Etiqueta da consola | Duração máxima da repetição |
Sinalização da CLI | --max-retry-duration |
Campo da API | maxRetryDuration |
Duração mínima do recuo
O tempo mínimo de espera antes de tentar novamente uma tarefa após a falha.
Descrição | Uma duração em segundos com até nove dígitos fracionários, que termina com "s", por exemplo, "3,5 s". |
Predefinição | A predefinição é 5 segundos. |
Etiqueta da consola | Duração mínima da repetição |
Sinalização da CLI | --min-backoff |
Campo da API | minBackoffDuration |
Duração máxima do recuo
O período máximo de tempo de espera antes de tentar novamente uma tarefa após a falha.
Descrição | Uma duração em segundos com até nove dígitos fracionários, que termina com "s", por exemplo, "3,5 s". |
Predefinição | A predefinição é 3600 segundos (1 hora). |
Etiqueta da consola | Duração máxima da suspensão |
Sinalização da CLI | --max-backoff |
Campo da API | maxBackoffDuration |
Duplicações máximas
Número máximo de vezes que o intervalo entre novas tentativas de tarefas com falhas é duplicado antes de o aumento se tornar constante.
Descrição | O tempo entre novas tentativas é duplicado maxDoublings vezes.
O intervalo de repetição de uma tarefa começa em Se
Assim, as solicitações são repetidas aos 10 s, 20 s, 40 s, 80 s e 160 s. Se
Assim, as solicitações são repetidas aos 10 s, 20 s, 40 s, 120 s e 120 s. |
Predefinição | A predefinição é 5. |
Etiqueta da consola | Duplicações máximas |
Sinalização da CLI | --max-doublings |
Campo da API | maxDoublings |
Voltar a tentar exemplos
Os exemplos seguintes demonstram o comportamento de repetição quando uma tarefa do Cloud Scheduler não é concluída com êxito.
- Se
retryCount
emaxRetryDuration
não estiverem definidos Ambas as definições têm o valor predefinido 0 e a tarefa não é repetida.
Tenha em atenção que o Cloud Scheduler tenta executar o trabalho na próxima hora de execução agendada.
- Se
retryCount
emaxRetryDuration
estiverem definidos A tarefa vai ser repetida, pelo menos,
retryCount
vezes até atingirmaxRetryDuration
.Tenha em atenção que a tarefa pode ser repetida mais vezes do que o valor de
retryCount
.- Se
retryCount
estiver definido emaxRetryDuration
não estiver definido A predefinição da definição
maxRetryDuration
é 0 e a tarefa vai ser repetida exatamenteretryCount
vezes.- Se
retryCount
não estiver definido emaxRetryDuration
estiver definido A tarefa vai tentar novamente qualquer número de vezes (até um máximo de 5 vezes) ou até atingir
maxRetryDuration
.