RetryParams è fornito dalla libreria client App Engine per Cloud Storage contenuta
in src/cloudstorage. Questa classe consente di modificare le impostazioni predefinite utilizzate per
gestire i timeout e i tentativi.
Introduzione
La libreria client App Engine per Cloud Storage utilizza le impostazioni predefinite per la gestione di timeout e tentativi durante i tentativi di contatto con i server Google Cloud Storage.
Questa classe consente di modificare queste impostazioni a livello di applicazione o per una specifica chiamata di una funzione di libreria (copy2, delete, listbucket, open, stat). Devi modificare solo l'impostazione specifica che ti interessa, poiché tutte le altre vengono mantenute a meno che non vengano sovrascritte in modo esplicito. Ogni istanza di RetryParams è univoca per thread e per richiesta.
Per modificare un'impostazione predefinita a livello di applicazione, crea un oggetto RetryParams, specifica le impostazioni che vuoi modificare e fornisci questo oggetto alla funzione cloudstorage.set_default_retry_params() nel seguente modo:
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 specifica chiamata di funzione, crea
un oggetto RetryParams e forniscilo direttamente alla funzione nel relativo
parametro 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)
Ciò non influisce sulle impostazioni predefinite utilizzate dall'app o da altre invocazioni di funzioni.
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
- Il moltiplicatore di backoff esponenziale, utilizzato per determinare la velocità di elaborazione ottimale. Il valore predefinito è
2.0. Per una descrizione e consigli per impostare questo valore, consulta la documentazione di Google Cloud Storage sul backoff. - max_delay
- Il numero massimo di secondi di attesa tra i 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 tentativi. Il valore predefinito è
6. - max_retry_period
- Il numero massimo di secondi che possono essere spesi per tutti i tentativi di una
determinata richiesta. Il valore predefinito è
30.0. I tentativi vengono interrotti al termine di questo periodo E quando è stato tentatomin_retries. - urlfetch_timeout
- Il numero di secondi di attesa prima che UrlFetch contatti i server di Google Cloud Storage prima di restituire un errore di timeout. Per impostazione predefinita,
questo valore è impostato su
None, il che significa utilizzare il termine UrlFetch predefinito, che è di cinque secondi. Puoi impostare qualsiasi valore fino a un massimo di 60 secondi.