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