RetryParams
é fornecido pela biblioteca de cliente do App Engine para Cloud Storage contida
em src/cloudstorage
. Essa classe permite alterar as configurações padrão usadas para processar tempos limite e novas tentativas.
Introdução
A biblioteca de cliente do App Engine para Cloud Storage usa configurações padrão a fim de processar tempos limite e novas tentativas quando você estiver tentando entrar em contato com os servidores do Google Cloud Storage.
Essa classe permite alterar essas configurações, seja em todo o aplicativo
ou para uma invocação específica de uma função
de biblioteca (copy2
, delete
, listbucket
, open
, stat
). Você precisa alterar apenas
a configuração específica em que está interessado, porque todas as outras são mantidas,
a menos que sejam explicitamente substituídas. Cada instância de RetryParams
é exclusiva por thread
e por solicitação.
Para alterar uma configuração padrão em todo o aplicativo, crie um objeto RetryParams
,
especifique as configurações que você quer alterar e forneça esse objeto à
função cloudstorage.set_default_retry_params()
da seguinte maneira:
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)
Para alterar as configurações padrão apenas para uma invocação de função específica, crie
um objeto RetryParams
e forneça-o diretamente para a função no
parâmetro retry_params
da seguinte maneira:
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)
Ela não entra em vigor nas configurações padrão usadas pelo app ou por outras invocações de função.
Propriedades da instância
Uma instância RetryParams
tem as seguintes propriedades:
- initial_delay
- O número de segundos de atraso antes de uma nova tentativa. O padrão é
0.1
. O atraso ajuda a distribuir a carga no servidor do Google Cloud Storage. - backoff_factor
- O multiplicador de retirada exponencial, usado para determinar a taxa de processamento
ideal. O padrão é
2.0
. Para uma descrição e recomendações para definir esse valor, consulte a documentação do Google Cloud Storage em retirada. - max_delay
- O número máximo de segundos para aguardar entre novas tentativas. O padrão é
10.0
. - min_retries
- O número mínimo de vezes de nova tentativa. O padrão é
3
. - max_retries
- O número máximo de vezes de nova tentativa. Defina esse valor como 0 caso você não queira novas tentativas. O padrão é
6
. - max_retry_period
- O número máximo de segundos que podem ser gastos em todas as novas tentativas de uma
determinada solicitação. O padrão é
30.0
. Uma nova tentativa é parada quando este período passa Emin_retries
foi tentado. - urlfetch_timeout
- O número de segundos de espera de UrlFetch para entrar em contato com os
servidores do Google Cloud Storage antes de retornar um erro de tempo limite. Por padrão,
isso é definido como
None
, o que significa usar o prazo padrão de UrlFetch, que é de cinco segundos. É possível defini-lo como qualquer valor de até 60 segundos, no máximo.