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
RetryConfigdefiniçõ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
retryCountemaxRetryDurationnã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
retryCountemaxRetryDurationestiverem definidos A tarefa vai ser repetida, pelo menos,
retryCountvezes até atingirmaxRetryDuration.Tenha em atenção que a tarefa pode ser repetida mais vezes do que o valor de
retryCount.- Se
retryCountestiver definido emaxRetryDurationnão estiver definido A predefinição da definição
maxRetryDurationé 0 e a tarefa vai ser repetida exatamenteretryCountvezes.- Se
retryCountnão estiver definido emaxRetryDurationestiver definido A tarefa vai tentar novamente qualquer número de vezes (até um máximo de 5 vezes) ou até atingir
maxRetryDuration.