기본적으로 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에 도달할 때까지 여러 번 재시도됩니다.