La classe RetryParams

RetryParams è fornito dalla libreria client App Engine per Cloud Storage contenuta in src/cloudstorage. Questa classe ti consente di modificare le impostazioni predefinite utilizzate per gestire i timeout e i tentativi di nuovo invio.

Introduzione

La libreria client di App Engine per Cloud Storage utilizza le impostazioni predefinite per la gestione timeout e nuovi tentativi durante i tentativi di contattare i server di Google Cloud Storage. Questo corso ti consente di modificare queste impostazioni in un'applicazione o per una chiamata specifica a una biblioteca (copy2, delete, listbucket, open, stat). Hai bisogno solo di modifiche l'impostazione specifica che ti interessa, poiché tutte le altre vengono conservate a meno che non vengano sovrascritti esplicitamente. Ogni istanza RetryParams è univoca per thread e per richiesta.

Per modificare un'impostazione predefinita a livello di applicazione, crea un RetryParams specifica le impostazioni che desideri modificare e fornisci questo oggetto la funzione cloudstorage.set_default_retry_params() come segue:

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)

Per modificare le impostazioni predefinite solo per una chiamata di funzione specifica, crea un oggetto RetryParams e fornirlo direttamente alla funzione nel suo retry_params, come segue:

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)

Questa operazione non influisce sulle impostazioni predefinite utilizzate dall'app o da altri di funzione.

Proprietà istanza

Un'istanza RetryParams ha le seguenti proprietà:

initial_delay
Il numero di secondi di ritardo prima di un nuovo tentativo. Il valore predefinito è 0.1. Il ritardo consente di distribuire il carico sul server Google Cloud Storage.
backoff_factor
Moltiplicatore del backoff esponenziale, utilizzato per determinare l'elaborazione ottimale di conversione. Il valore predefinito è 2.0. Per una descrizione e consigli per l'impostazione di questo valore, consulta la documentazione di Google Cloud Storage sul backoff.
max_delay
Il numero massimo di secondi di attesa tra i nuovi tentativi. Il valore predefinito è 10.0.
min_retries
Il numero minimo di tentativi. Il valore predefinito è 3.
max_retries
Il numero massimo di tentativi. Imposta questo valore su 0 se non vuoi che vengano eseguiti tentativi di nuovo. Il valore predefinito è 6.
max_retry_period
Il numero massimo di secondi che possono essere spesi in tutti i nuovi tentativi di una una data richiesta. Il valore predefinito è 30.0. Il nuovo tentativo si interrompe una volta trascorso questo periodo E Tentativo di utilizzo di min_retries.
urlfetch_timeout
Il numero di secondi di attesa prima che UrlFetch contatti i server Google Cloud Storage prima di restituire un errore di timeout. Per impostazione predefinita, questo valore è impostato su None, il che significa che viene utilizzata la scadenza predefinita di UrlFetch, ovvero cinque secondi. Puoi impostare qualsiasi valore fino a un massimo di 60. secondi.