Klasse "RetryParams"
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
RetryParams
wird von der App Engine-Clientbibliothek für Cloud Storage bereitgestellt, die in src/cloudstorage
enthalten ist. Mit dieser Klasse können Sie die Standardeinstellungen für Zeitlimits und Wiederholungen ändern.
Einführung
In der App Engine-Clientbibliothek für Cloud Storage werden für den Umgang mit Zeitüberschreitungen und Wiederholungen bei Versuchen, eine Verbindung zu Google Cloud Storage-Servern herzustellen, Standardeinstellungen verwendet.
Mit dieser Klasse können Sie diese Einstellungen entweder anwendungsweit oder für einen bestimmten Aufruf einer Bibliotheksfunktion ändern (copy2
, delete
, listbucket
, open
, stat
). Sie müssen nur die spezifische Einstellung ändern, an der Sie interessiert sind, da alle anderen Einstellungen beibehalten werden, sofern sie nicht explizit überschrieben werden. Jede Instanz RetryParams
ist pro Thread und pro Anfrage eindeutig.
Um anwendungsweit eine Standardeinstellung zu ändern, erstellen Sie ein RetryParams
-Objekt, geben die zu ändernden Einstellungen an und stellen dieses Objekt der Funktion cloudstorage.set_default_retry_params()
so zur Verfügung:
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)
Um die Standardeinstellungen nur für einen bestimmten Funktionsaufruf zu ändern, erstellen Sie ein RetryParams
-Objekt und übergeben es direkt an die Funktion im Parameter retry_params
. Gehen Sie dazu so vor:
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)
Dies hat keine Auswirkungen auf die Standardeinstellungen, die von der Anwendung oder anderen Funktionsaufrufen verwendet werden.
Instanzeigenschaften
Eine RetryParams
-Instanz hat die folgenden Eigenschaften:
- initial_delay
- Die Anzahl der Sekunden bis zu einem Neuversuch. Der Standardwert ist
0.1
. Die Verzögerung hilft, die Last auf dem Google Cloud Storage-Server zu verteilen.
- backoff_factor
- Der exponentielle Backoff-Multiplikator, der zur Bestimmung der optimalen Verarbeitungsrate verwendet wird. Der Standardwert ist
2.0
. Eine Beschreibung sowie Empfehlungen zum Festlegen dieses Werts finden Sie in der Google Cloud Storage-Dokumentation zu Backoff.
- max_delay
- Die maximale Anzahl von Sekunden bis zu einem Neuversuch. Der Standardwert ist
10.0
.
- min_retries
- Die Mindestanzahl von Neuversuchen. Der Standardwert ist
3
.
- max_retries
- Die maximale Anzahl von Neuversuchen. Setzen Sie diesen Wert auf 0, wenn Sie keine Wiederholungen wünschen. Der Standardwert ist
6
.
- max_retry_period
- Die maximale Anzahl von Sekunden, die für alle Wiederholungsversuche einer bestimmten Anfrage aufgewendet werden kann. Der Standardwert ist
30.0
. Die Wiederholungen werden beendet, wenn dieser Zeitraum abgelaufen ist und min_retries
durchgeführt wurde.
- urlfetch_timeout
- Die Anzahl der Sekunden bis zur Rückgabe eines Zeitlimitfehlers, wenn UrlFetch die Google Cloud Storage-Server kontaktiert. Die Standardeinstellung ist
None
. Dies bedeutet, dass das UrlFetch-Standardzeitlimit von fünf Sekunden verwendet wird. Sie können diesen Wert auf einen beliebigen Wert bis zu maximal 60 Sekunden einstellen.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-09-04 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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."]]