RetryParams
由位于 src/cloudstorage
中适用于 Cloud Storage 的 App Engine 客户端库提供。此类可让您更改用于处理超时和重试的默认设置。
简介
在尝试联系 Google Cloud Storage 服务器的过程中,适用于 Cloud Storage 的 App Engine 客户端库会使用默认设置来处理超时和重试。
此类可让您在应用范围内更改这些设置,或者针对库函数(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 秒的任意值。