毎度 discovery.py:build() を呼ぶと、毎度 https 通信が発生し動作が遅
くなってしまう。Web アプリの場合なんかは、アクセス毎にこれが発生
するのは問題。
なんで https 通信が発生するのかは、Discovery Document なる、Google
API を利用する際に必要な情報が記された JSON 形式のデータを毎度とり
に行っているから。discovery.py の以下の部分。
190 logger.info('URL being requested: %s' % requested_url)ただ、この JSON のデータは毎度取りに行く必要もないようで、一度とっ
191
192 resp, content = http.request(requested_url)
193
194 if resp.status == 404:
195 raise UnknownApiNameOrVersion("name: %s version: %s" % (serviceName,
196 version))
197 if resp.status >= 400:
198 raise HttpError(resp, content, uri=requested_url)
199
たらキャッシュしてしまって、build() でなく build_from_document() を
使うのが良い。
キャッシュの仕方なんだけど、今のところ build() 関数にベタに
print content などとしてしまって、吐出されたやつをファイルに保存
しているが、もっと良い方法あるんだろう。
調べてわかったらまたメモります。
0 件のコメント:
コメントを投稿