RetryParams
는 src/cloudstorage
에 포함된 Cloud Storage용 App Engine 클라이언트 라이브러리에서 제공됩니다. 이 클래스를 사용하면 시간 초과 및 재시도를 처리하는 데 사용되는 기본 설정을 변경할 수 있습니다.
소개
Cloud Storage용 App Engine 클라이언트 라이브러리는 Google Cloud Storage 서버에 연결을 시도하는 동안 시간 초과 및 재시도 처리를 위해 기본 설정을 사용합니다.
이 클래스를 사용하면 애플리케이션 전체를 기준으로 또는 특정 라이브러리 함수 호출(copy2
, delete
, listbucket
, open
, stat
)에 대해 이러한 설정을 변경할 수 있습니다. 관심이 있는 특정 설정만 변경하면 되고, 다른 모든 설정은 명시적으로 덮어쓰지 않는 한 그대로 보존됩니다. 각 RetryParams
인스턴스는 스레드 및 요청별로 고유합니다.
애플리케이션 전체의 기본 설정을 변경하려면 RetryParams
객체를 만들고, 변경할 설정을 지정하고, 다음과 같이 이 객체를 cloudstorage.set_default_retry_params()
함수에 제공합니다.
my_default_retry_params = cloudstorage.RetryParams(initial_delay=0.2,
max_delay=5.0,
backoff_factor=2,
max_retry_period=15)
cloudstorage.set_default_retry_params(my_default_retry_params)
특정 함수 호출의 기본 설정만 변경하려면 RetryParams
객체를 만들고 다음과 같이 해당 retry_params
매개변수의 함수에 직접 제공합니다.
write_retry_params = cloudstorage.RetryParams(backoff_factor=1.1)
gcs_file = cloudstorage.open(filename,
'w',
content_type='text/plain',
options={'x-goog-meta-foo': 'foo',
'x-goog-meta-bar': 'bar'},
retry_params=write_retry_params)
이 설정은 앱 또는 기타 함수 호출에 사용되는 기본 설정에 영향을 주지 않습니다.
인스턴스 속성
RetryParams
인스턴스에는 다음과 같은 속성이 있습니다.
- initial_delay
- 재시도하기 전에 지연되는 시간(초)입니다. 기본값은
0.1
입니다. 지연을 통해 Google Cloud Storage 서버의 부하를 분산시킬 수 있습니다. - backoff_factor
- 최적의 처리 속도를 결정하는 데 사용되는 지수 백오프 승수입니다. 기본값은
2.0
입니다. 이 값 설정에 대한 설명 및 권장 사항은 백오프에 대한 Google Cloud Storage 문서를 참조하세요. - max_delay
- 재시도 사이의 최대 대기 시간(초)입니다. 기본값은
10.0
입니다. - min_retries
- 재시도하는 최소 횟수입니다. 기본값은
3
입니다. - max_retries
- 최대 재시도 횟수입니다. 재시도하지 않으려면 이 값을 0으로 설정합니다. 기본값은
6
입니다. - max_retry_period
- 지정된 요청의 모든 재시도에 소요될 수 있는 최대 시간(초)입니다. 기본값은
30.0
입니다. 이 기간이 경과하고min_retries
가 시도되면 재시도가 중지됩니다. - urlfetch_timeout
- 제한 시간 오류가 반환되기 전에 UrlFetch가 Google Cloud Storage 서버에 연결할 때까지 대기하는 시간(초)입니다. 기본적으로
None
으로 설정됩니다. 즉, 기본 UrlFetch 기한인 5초를 사용합니다. 이 값을 최대 60초까지 설정할 수 있습니다.