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 undmin_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.