Klasse "RetryParams"

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.

Instanzattribute

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.