기본적으로 Cloud Scheduler 작업이 핸들러로부터 확인을 받지 못하면 작업이 실패한 것으로 간주되며 구성한 지수 백오프에 따라 재시도됩니다. Cloud Scheduler 작업을 만들거나 업데이트할 때 다음과 같은 방법으로 이 재시도 동작을 결정할 수 있습니다.
직접 API 요청하기 및
Job
리소스의RetryConfig
설정 구성
설정 재시도
다음 표에서는 구성할 수 있는 재시도 설정을 설명합니다.
최대 재시도 횟수
maxDoublings
에 설명된 지수 백오프 절차를 사용하여 시스템에서 작업을 실행하려고 시도하는 횟수입니다.
설명 |
5보다 큰 값과 음수 값은 허용되지 않습니다. |
기본값 | 기본값은 0입니다. |
콘솔 라벨 | 최대 재시도 횟수 |
CLI 플래그 | --max-retry-attempts |
API 필드 | retryCount |
최대 재시도 시간
실패한 작업을 재시도하기 위한 시간 제한으로, 실행이 처음 시도된 시점부터 측정됩니다. retryCount
와 함께 지정하면 두 한도에 모두 도달할 때까지 작업이 재시도됩니다.
설명 | 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: '3.5s'). 기간이 0이면 재시도 기간이 무제한임을 의미합니다. 하지만 |
기본값 | 기본값은 0초입니다. |
콘솔 라벨 | 최대 재시도 시간 |
CLI 플래그 | --max-retry-duration |
API 필드 | maxRetryDuration |
최소 백오프 지속 시간
작업이 실패한 후 다시 시도하기 전에 대기할 최소 시간입니다.
설명 | 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: '3.5s'). |
기본값 | 기본값은 5초입니다. |
콘솔 라벨 | 최소 백오프 지속 시간 |
CLI 플래그 | --min-backoff |
API 필드 | minBackoffDuration |
최대 백오프 지속 시간
작업이 실패한 후 다시 시도하기 전에 대기할 최대 시간입니다.
설명 | 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: '3.5s'). |
기본값 | 기본값은 3,600초 (1시간)입니다. |
콘솔 라벨 | 최대 백오프 지속 시간 |
CLI 플래그 | --max-backoff |
API 필드 | maxBackoffDuration |
최대 더블링
실패한 작업 재시도 사이의 간격이 두 배가 되는 최대 횟수입니다. 이 횟수 이후에는 증분 값이 상수가 됩니다.
설명 | 재시도 간 대기 시간으로 maxDoublings 배 증가합니다.
작업의 재시도 간격은
따라서 요청은 10초, 20초, 40초, 80초, 160초에 재시도됩니다.
따라서 요청은 10초, 20초, 40초, 120초, 120초에 재시도됩니다. |
기본값 | 기본값은 5입니다. |
콘솔 라벨 | 최대 더블링 |
CLI 플래그 | --max-doublings |
API 필드 | maxDoublings |
재시도 예시
다음 예에서는 Cloud Scheduler 작업이 성공적으로 완료되지 않을 때 재시도 동작을 보여줍니다.
retryCount
와maxRetryDuration
가 모두 설정되지 않은 경우두 설정 모두 기본값이 0이며 작업이 전혀 다시 시도되지 않습니다.
Cloud Scheduler는 다음 예약된 실행 시간에 작업을 실행하려고 시도합니다.
retryCount
와maxRetryDuration
가 모두 설정된 경우작업은
maxRetryDuration
에 도달할 때까지 최소retryCount
회 재시도됩니다.작업이
retryCount
보다 더 많이 재시도될 수 있습니다.retryCount
이 설정되고maxRetryDuration
이 설정되지 않은 경우maxRetryDuration
설정은 기본적으로 0으로 설정되며 작업은 정확히retryCount
번 재시도됩니다.retryCount
이 설정되어 있지 않고maxRetryDuration
이 설정된 경우작업은 최대 5회까지 또는
maxRetryDuration
에 도달할 때까지 여러 번 재시도됩니다.