RetryParams
é fornecido pela biblioteca cliente do App Engine para o Cloud Storage contido em src/cloudstorage
. Esta classe permite alterar as predefinições usadas para processar limites de tempo e novas tentativas.
Introdução
A biblioteca de cliente do App Engine para o Cloud Storage usa as predefinições para processar
os limites de tempo e as novas tentativas durante as tentativas de contacto com os servidores do Google Cloud Storage.
Esta classe permite-lhe alterar essas definições, quer numa base
de toda a aplicação, quer para uma invocação específica de uma função
da biblioteca (copy2
, delete
, listbucket
, open
, stat
). Só tem de alterar
a definição específica que lhe interessa, uma vez que todas as outras definições são mantidas
a menos que sejam explicitamente substituídas. Cada instância de RetryParams
é única por segmento e por pedido.
Para alterar uma predefinição em toda a aplicação, cria um objeto RetryParams
, especifica as definições que quer alterar e fornece este objeto à função
cloudstorage.set_default_retry_params()
da seguinte forma:
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 predefinições apenas para uma invocação de função específica, crie um objeto RetryParams
e forneça-o diretamente à função no respetivo parâmetro retry_params
, da seguinte forma:
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)
Isto não tem qualquer efeito nas definições predefinidas usadas pela app ou por outras invocações de funções.
Propriedades da instância
Uma instância do RetryParams
tem as seguintes propriedades:
- initial_delay
- O número de segundos de atraso antes de uma nova tentativa. A predefinição é
0.1
. O atraso ajuda a distribuir a carga no servidor do Google Cloud Storage. - backoff_factor
- O multiplicador de recuo exponencial, usado para determinar a taxa de processamento ideal. A predefinição é
2.0
. Para uma descrição e recomendações para definir este valor, consulte a documentação do Google Cloud Storage sobre recuo. - max_delay
- O número máximo de segundos a aguardar entre tentativas. A predefinição é
10.0
. - min_retries
- O número mínimo de vezes para tentar novamente. A predefinição é
3
. - max_retries
- O número máximo de vezes para tentar novamente. Defina este valor como 0 se não quiser nenhuma nova tentativa. A predefinição é
6
. - max_retry_period
- O número máximo de segundos que podem ser gastos em todas as novas tentativas de um pedido específico. A predefinição é
30.0
. As novas tentativas param quando este período terminar Emin_retries
tiver sido tentado. - urlfetch_timeout
- O número de segundos a aguardar que o UrlFetch contacte os servidores do Google Cloud Storage antes de devolver um erro de tempo limite. Por predefinição, esta opção está definida como
None
, o que significa usar o prazo predefinido do UrlFetch, que é de cinco segundos. Pode definir este parâmetro para qualquer valor até um máximo de 60 segundos.