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