A classe RetryParams

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 E min_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.