RetryParams 類別

RetryParams 由包含在 src/cloudstorage 中,Cloud Storage 適用的 App Engine 用戶端程式庫提供。這個類別可讓您變更用於處理逾時情形和重試作業的預設設定。

簡介

Cloud Storage 適用的 App Engine 用戶端程式庫使用預設設定,以處理嘗試與 Google Cloud Storage 伺服器連線時的逾時和重試作業。這個類別可讓您針對整個應用程式變更這些設定,或是針對程式庫函式 (copy2deletelistbucketopenstat) 的叫用變更設定。您只需要變更感興趣的特定設定,除非明確覆寫,否則所有其他設定都會保留。每個 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 秒以內的任何值。