RetryParams 类

RetryParams 由位于 src/cloudstorage 中适用于 Cloud Storage 的 App Engine 客户端库提供。此类可让您更改用于处理超时和重试的默认设置。

简介

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