サービス アカウント アプリで Python Google Drive SDK を使用しています。ビルド時に Web リクエストを最小限に抑えるために、何らかの方法でサービス オブジェクトをキャッシュしたいと考えています。
service = build('drive', 'v2', http=http)
このオブジェクトを再利用すると、複数のスレッドで問題が発生する可能性がありますか?
サービス アカウント アプリで Python Google Drive SDK を使用しています。ビルド時に Web リクエストを最小限に抑えるために、何らかの方法でサービス オブジェクトをキャッシュしたいと考えています。
service = build('drive', 'v2', http=http)
このオブジェクトを再利用すると、複数のスレッドで問題が発生する可能性がありますか?
Httplib2 オブジェクトはスレッドセーフではありません。ただし、サービスの再利用に問題はありません。1時間後に新しいアクセス トークンを取得していることを確認してください。
クライアントとサービス オブジェクトは状態情報を保持するため、クライアントはスレッドセーフではありません。明らかな例の 1 つは、トークンが不変に保持され、競合状態につながる認証エラーが発生したときに更新されることです。