참고: Python 2.7은 2024년 1월 31일 지원 종료됩니다. 기존 Python 2.7 애플리케이션을 계속 실행하고 트래픽을 받을 수 있습니다. 그러나 지원 종료 날짜 이후에는 해당 런타임을 사용하는 애플리케이션의 재배포를 App Engine에서 차단할 수 있습니다.
지원되는 최신 Python 버전으로 마이그레이션하는 것이 좋습니다.
태스크 큐를 통해 처리 중인 푸시 태스크는 여러 가지 이유로 실패할 수 있습니다. 핸들러가 작업 실행에 실패하여 200~299 범위를 벗어나는 HTTP 상태 코드를 반환하면 App Engine은 성공할 때까지 작업을 재시도합니다.
기본적으로 시스템은 애플리케이션에 너무 많은 요청이 발생하지 않도록 점진적으로 재시도 횟수를 줄이지만 태스크가 성공할 때까지 재시도가 시간당 최대 한 번 발생하도록 예약합니다.
작업 재시도
queue.yaml에 retry 매개변수 요소를 추가하여 태스크 재시도의 고유 스키마를 맞춤설정할 수 있습니다. 이렇게 하면 특정 큐에서 실패한 태스크를 재시도할 최대 횟수를 지정할 수 있습니다. 또한 재시도에 시간 제한을 설정하고 시도 사이의 간격을 제어할 수 있습니다.
다음 예시에서는 다양한 재시도 시나리오를 보여줍니다.
fooqueue에서는 최초 실행 시도 후 최대 이틀 동안 재시도가 최대 7번 이루어집니다. 두 가지 한도를 모두 초과하면 영구적으로 실패합니다.
barqueue에서 App Engine은 최대 백오프에 도달할 때까지 각 재시도 간의 간격을 비례적으로 증가시키면서 태스크를 재시도하고 최대 간격에서는 무한정 재시도합니다. 따라서 요청 간 간격은 10초, 20초, 30초, ..., 190초, 200초, 200초, ...와 같이 됩니다.
bazqueue에서는 재시도 간격이 10초부터 시작하여 3회 동안 두 배로 증가한 후 비례적으로 증가하고 최대 간격에 도달하면 무한정 재시도합니다. 따라서 요청 간 간격은 10초, 20초, 40초, 80초, 160초, 240초, 300초, 300초, ...와 같이 됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-04-21(UTC)"],[[["App Engine automatically retries tasks that fail, with a default strategy of gradually reducing the retry rate."],["Retry configurations can be set at the queue level in `queue.yaml` to customize the number of retries, time limits, and intervals between attempts."],["Retry options can also be specified on the `Task` object, and when both queue and task level are set, the `Task` object parameters take precedence."],["Various retry behaviors are demonstrated in the provided examples, including limiting the number of retries and implementing linear or exponential backoff strategies."]]],[]]