A classe RetryParams

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