RetryParams
se proporciona mediante la biblioteca de cliente de App Engine para Cloud Storage incluida en src/cloudstorage
. Esta clase te permite cambiar los ajustes predeterminados que se usan para gestionar los tiempos de espera y los reintentos.
Introducción
La biblioteca de cliente de App Engine para Cloud Storage usa la configuración predeterminada para gestionar los tiempos de espera y los reintentos durante los intentos de ponerse en contacto con los servidores de Google Cloud Storage.
Esta clase te permite cambiar esos ajustes, ya sea en toda la aplicación o para una invocación específica de una función de biblioteca (copy2
, delete
, listbucket
, open
, stat
). Solo tienes que cambiar el ajuste específico que te interese, ya que el resto de los ajustes se conservan a menos que se sobrescriban explícitamente. Cada instancia de RetryParams
es única por hilo y por solicitud.
Para cambiar un ajuste predeterminado en toda la aplicación, crea un objeto RetryParams
, especifica los ajustes que quieras cambiar y proporciona este objeto a la función cloudstorage.set_default_retry_params()
de la siguiente manera:
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)
Para cambiar la configuración predeterminada solo para una invocación de función específica, crea un objeto RetryParams
y proporciónalo directamente a la función en su parámetro retry_params
, como se indica a continuación:
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)
Esto no afecta a los ajustes predeterminados que usa la aplicación ni a otras invocaciones de funciones.
Propiedades de instancia
Una instancia de RetryParams
tiene las siguientes propiedades:
- initial_delay
- Número de segundos que se deben esperar antes de volver a intentar la operación. El valor predeterminado es
0.1
. El retraso ayuda a distribuir la carga en el servidor de Google Cloud Storage. - backoff_factor
- Multiplicador de tiempo de espera exponencial que se usa para determinar la velocidad de procesamiento óptima. El valor predeterminado es
2.0
. Para obtener una descripción y recomendaciones sobre cómo definir este valor, consulta la documentación de Google Cloud Storage sobre retroceso. - max_delay
- Número máximo de segundos que se espera entre reintentos. El valor predeterminado es
10.0
. - min_retries
- El número mínimo de veces que se debe reintentar. El valor predeterminado es
3
. - max_retries
- Número máximo de veces que se reintenta. Asigna el valor 0 si no quieres que se reintente. El valor predeterminado es
6
. - max_retry_period
- Número máximo de segundos que se pueden dedicar a todos los reintentos de una solicitud determinada. El valor predeterminado es
30.0
. El reintento se detiene cuando ha transcurrido este periodo Y se ha intentado acceder amin_retries
. - urlfetch_timeout
- Número de segundos que debe esperar UrlFetch para ponerse en contacto con los servidores de Google Cloud Storage antes de devolver un error de tiempo de espera. De forma predeterminada, se establece en
None
, lo que significa que se usa el tiempo de espera predeterminado de UrlFetch, que es de cinco segundos. Puedes definir cualquier valor hasta un máximo de 60 segundos.