RetryParams クラス

RetryParams は、src/cloudstorage の中の Google Cloud Storage クライアント ライブラリに備わっています。このクラスを使用すると、タイムアウトおよび再試行を処理するためのデフォルト設定を変更できます。

はじめに

Google Cloud Storage クライアント ライブラリでは、Google Cloud Storage サーバーとの通信の試行中にタイムアウトおよび再試行を処理するためのデフォルト設定を使用します。このクラスを使用すると、アプリケーション全体で、あるいは Google Cloud Storage クライアント ライブラリ関数(copy2deletelistbucketopenstat)の特定の呼び出しで、これらの設定を変更することができます。該当する特定の設定を変更するだけで済みます。他のすべての設定は、明示的に上書きしない限り、そのまま保持されます。各 RetryParams インスタンスは、スレッドごと、リクエストごとに固有です。

アプリケーション全体でデフォルト設定を変更するには、次のように RetryParams オブジェクトを作成し、変更する設定をすべて指定して、このオブジェクトを cloudstorage.set_default_retry_params() 関数に提供します。

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)

特定の関数呼び出しのデフォルト設定だけを変更するには、次のように RetryParams オブジェクトを作成し、retry_params パラメータを使って関数にそれを直接提供します。

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)

この方法では、アプリや他の関数呼び出しで使用されるデフォルト設定は、影響を受けません。

インスタンス プロパティ

RetryParams インスタンスには次のプロパティがあります。

initial_delay
再試行までに待機する遅延時間(秒数)。デフォルトは 0.1 です。この遅延は、Google Cloud Storage サーバーで負荷を分散するのに役立ちます。
backoff_factor
最適な処理速度を決定するために使われる指数バックオフ乗数。デフォルト値は 2.0 です。この値の設定方法の説明と推奨事項については、バックオフに関する Google Cloud Storage ドキュメントを参照してください。
max_delay
次の再試行まで待機する最大秒数。デフォルトは 10.0 です。
min_retries
再試行の最小回数。デフォルトは 3 です。
max_retries
再試行の最大回数。まったく再試行しない場合は、この値を 0 に設定します。デフォルトは 6 です。
max_retry_period
1 つのリクエストのすべての再試行に費やすことができる最大秒数。デフォルトは 30.0 です。この期間が経過し、しかも min_retries 回にわたって試行済みであれば、再試行が終了します。
urlfetch_timeout
UrlFetch が Google Cloud Storage サーバーと通信するのを待機する秒数。これが経過するとタイムアウト エラーが返されます。これはデフォルトで None に設定され、その場合はデフォルトの UrlFetch 期限(5 秒)が使用されます。最大 60 秒までの範囲で、この値を任意の値に設定できます。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境