La classe RetryParams
est fournie par la bibliothèque cliente App Engine pour Cloud Storage dans src/cloudstorage
. Elle permet de modifier les paramètres par défaut liés au traitement du délai d'expiration et des nouvelles tentatives.
Introduction
La bibliothèque cliente App Engine pour Cloud Storage utilise les paramètres par défaut définis pour le traitement du délai d'expiration et des nouvelles tentatives lorsque vous essayez de contacter les serveurs Cloud Storage.
Cette classe vous permet de modifier ces paramètres à l'échelle de l'application ou pour un appel spécifique d'une fonction de la bibliothèque (copy2
, delete
, listbucket
, open
, stat
). Vous n'avez besoin de modifier que le paramètre qui vous intéresse, car les autres paramètres sont conservés, sauf s'ils sont explicitement écrasés. Chaque instance RetryParams
est unique pour chaque thread et chaque requête.
Pour modifier un paramètre par défaut à l'échelle de l'application, vous devez créer un objet RetryParams
, spécifier les paramètres à modifier et fournir cet objet à la fonction cloudstorage.set_default_retry_params()
comme décrit ci-dessous :
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)
Si vous souhaitez uniquement modifier les paramètres par défaut d'un appel de fonction spécifique, créez un objet RetryParams
et fournissez-le directement à la fonction dans son paramètre retry_params
, comme suit :
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)
Cela n'a aucun effet sur les paramètres par défaut utilisés par l'application ou par d'autres appels de fonctions.
Propriétés de l'instance
Une instance RetryParams
possède les propriétés suivantes :
- initial_delay
- Nombre de secondes d'attente avant d'effectuer une nouvelle tentative. La valeur par défaut est
0.1
. Le délai permet de répartir la charge sur le serveur Google Cloud Storage. - backoff_factor
- Multiplicateur d'intervalle exponentiel entre les tentatives. Il permet de déterminer le taux de traitement optimal. La valeur par défaut est
2.0
. Pour découvrir comment définir cette valeur et obtenir des conseils, consultez la documentation de Google Cloud Storage sur l'intervalle entre les tentatives. - max_delay
- Nombre maximal de secondes d'attente entre les nouvelles tentatives. La valeur par défaut est
10.0
. - min_retries
- Nombre minimal de nouvelles tentatives à effectuer. La valeur par défaut est
3
. - max_retries
- Nombre maximal de nouvelles tentatives à effectuer. Définissez cette valeur sur 0 si vous ne souhaitez pas effectuer de nouvelles tentatives. La valeur par défaut est
6
. - max_retry_period
- Nombre maximal de secondes pouvant être consacrées à l'ensemble des nouvelles tentatives d'une requête donnée. La valeur par défaut est
30.0
. Le système n'effectue plus de nouvelles tentatives lorsque cette période est écoulée ET que le nombre de tentatives défini parmin_retries
a été effectué. - urlfetch_timeout
- Nombre de secondes d'attente avant que le service de récupération d'URL ne renvoie une erreur d'expiration du délai lorsqu'il contacte les serveurs Google Cloud Storage. Par défaut, ce paramètre est défini sur
None
, ce qui signifie que le délai par défaut du service de récupération d'URL (qui est de cinq secondes) s'applique. Cette valeur ne peut pas dépasser 60 secondes.