RetryParams 類別

RetryParamssrc/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 秒以內的任何值。