RetryParams 클래스

RetryParamssrc/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초까지 설정할 수 있습니다.