Clase de RetryParams

La biblioteca cliente de App Engine proporciona RetryParams para Cloud Storage en src/cloudstorage. Esta clase te permite cambiar la configuración predeterminada que se usa para controlar los tiempos de espera y los reintentos.

Introducción

La biblioteca cliente de App Engine para Cloud Storage usa la configuración predeterminada a fin de controlar los tiempos de espera y reintentos cuando se intenta contactar a los servidores de Google Cloud Storage. Esta clase te permite cambiar esa configuración en toda la aplicación o para una invocación específica de una función de biblioteca (copy2, delete, listbucket, open, stat). Solo debes cambiar la configuración específica que te interesa, ya que todas las demás opciones de configuración se conservan, a menos que se reemplacen de forma explícita. Cada instancia de RetryParams es única por subproceso y por solicitud.

Para cambiar una configuración predeterminada en toda la aplicación, crea un objeto RetryParams, especifica la configuración que deseas 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)

Si deseas cambiar la configuración predeterminada solo de 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, de la siguiente manera:

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 causa ningún efecto en la configuración predeterminada que usa la app o las otras invocaciones de funciones.

Propiedades de la instancia

Una instancia de RetryParams tiene las siguientes propiedades:

initial_delay
La cantidad de segundos de retraso antes de un reintento. El valor predeterminado es 0.1. El retraso ayuda a distribuir la carga en el servidor de Google Cloud Storage.
backoff_factor
El multiplicador de retirada exponencial que se usa para determinar la frecuencia óptima de procesamiento. El valor predeterminado es 2.0. Para obtener descripciones y recomendaciones a fin de establecer este valor, consulta la documentación de Google Cloud Storage sobre la retirada.
max_delay
La cantidad máxima de segundos que se debe esperar entre los reintentos. El valor predeterminado es 10.0.
min_retries
La cantidad mínima de veces que se puede realizar un reintento. El valor predeterminado es 3.
max_retries
La cantidad máxima de veces que se puede realizar un reintento. Establece este valor en 0 si deseas que no se ejecute ningún reintento. El valor predeterminado es 6.
max_retry_period
La cantidad máxima 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 pasó este período Y se intentó min_retries.
urlfetch_timeout
La cantidad de segundos que se deben esperar hasta que UrlFetch se comunique con los servidores de Google Cloud Storage antes de mostrar un error de tiempo de espera. De forma predeterminada, se establece en None, que significa que se usa el plazo predeterminado de UrlFetch de cinco segundos. Puedes establecer este valor hasta un máximo de 60 segundos.