Clase de RetryParams
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-04 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003e\u003ccode\u003eRetryParams\u003c/code\u003e allows customization of timeout and retry settings for the App Engine client library's interactions with Cloud Storage.\u003c/p\u003e\n"],["\u003cp\u003eYou can adjust settings such as \u003ccode\u003einitial_delay\u003c/code\u003e, \u003ccode\u003ebackoff_factor\u003c/code\u003e, \u003ccode\u003emax_delay\u003c/code\u003e, \u003ccode\u003emin_retries\u003c/code\u003e, \u003ccode\u003emax_retries\u003c/code\u003e, \u003ccode\u003emax_retry_period\u003c/code\u003e, and \u003ccode\u003eurlfetch_timeout\u003c/code\u003e to control retry behavior.\u003c/p\u003e\n"],["\u003cp\u003eSettings can be changed application-wide using \u003ccode\u003ecloudstorage.set_default_retry_params()\u003c/code\u003e or for specific function calls by providing \u003ccode\u003eretry_params\u003c/code\u003e to the function directly.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eRetryParams\u003c/code\u003e instance is specific to a thread and request, allowing for granular control over retries without affecting other parts of the application.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eurlfetch_timeout\u003c/code\u003e setting lets users determine how many seconds to wait for UrlFetch to contact the Cloud Storage servers, defaulting to 5 seconds, but going as high as 60 seconds.\u003c/p\u003e\n"]]],[],null,["# The RetryParams Class\n\n`RetryParams` is provided by the App Engine client library for Cloud Storage contained\nin `src/cloudstorage`. This class lets you change default settings used to\nhandle timeouts and retries.\n\nIntroduction\n------------\n\nThe App Engine client library for Cloud Storage uses default settings for handling\ntimeouts and retries during attempts to contact Google Cloud Storage servers.\nThis class allows you to change those settings, either on an application-wide\nbasis, or for a specific invocation of a library\nfunction (`copy2`, `delete`, `listbucket`, `open`, `stat`). You need change only\nthe specific setting you are interested in, as all other settings are retained\nunless explicitly overwritten. Each `RetryParams` instance is unique per thread\nand per request.\n\nTo change a default setting application-wide, you create a `RetryParams`\nobject, specify whatever settings you wish to change, and supply this object to\nthe `cloudstorage.set_default_retry_params()` function as follows: \n\n my_default_retry_params = cloudstorage.RetryParams(initial_delay=0.2,\n max_delay=5.0,\n backoff_factor=2,\n max_retry_period=15)\n cloudstorage.set_default_retry_params(my_default_retry_params)\n\nTo change default settings for a specific function invocation only, create\na `RetryParams` object and supply it directly to the function in its\n`retry_params` parameter, as follows: \n\n write_retry_params = cloudstorage.RetryParams(backoff_factor=1.1)\n gcs_file = cloudstorage.open(filename,\n 'w',\n content_type='text/plain',\n options={'x-goog-meta-foo': 'foo',\n 'x-goog-meta-bar': 'bar'},\n retry_params=write_retry_params)\n\nThis has no effect on the default settings used by the app or by other\nfunction invocations.\n\nInstance properties\n-------------------\n\nA `RetryParams` instance has the following properties:\n\ninitial_delay\n: The number of seconds to delay before a retry. Default is `0.1`. Delay helps\n distribute load at the Google Cloud Storage server.\n\nbackoff_factor\n: The exponential back-off multiplier, used to determine optimal processing\n rate. Default is `2.0`. For a description and recommendations for setting this\n value, see the Google Cloud Storage documentation on [backoff](/storage/docs/exponential-backoff).\n\nmax_delay\n: The maximum number of seconds to wait between retries. Default is `10.0`.\n\nmin_retries\n: The minimum number of times to retry. Default is `3`.\n\nmax_retries\n: The maximum number of times to retry. Set this value to 0 if\n you don't want any retries. Default is `6`.\n\nmax_retry_period\n: The maximum number of seconds that can be spent on all retries of a\n given request. Default is `30.0`. Retry stops when this period passed AND\n `min_retries` has been attempted.\n\nurlfetch_timeout\n: The number of seconds to wait for UrlFetch to contact the\n Google Cloud Storage servers before returning a timeout error. By default,\n this is set to `None`, which means use the [default UrlFetch deadline](/appengine/docs/legacy/standard/python/issue-requests),\n which is five seconds. You can set this to any value up to a maximum of 60\n seconds."]]