セッションについて書き途中だけど、それは一旦置いといて
GAEのリクエスト制限について。
正直言って
通 信 コ ス ト が ヤ バ イ
本家のサイトでも、紹介サイトでも
かなり強く言われている
1000件制限と30秒制限
これは
一回のリクエストで取得できる件数は1000件が上限ですよ
とか
一回のリクエストに30秒かかるとエラーが出ますよ
といった制限を意味している。
取得可能件数が1000件なのは、なんかちょっとイヤだが
プログラムをした事がある人なら
30秒制限はそう引っかからない
と思うだろう。
だがしかし
だがしかしだよ。
引っかかるんだよ。
結構あっさりと。
普通に考えたら、1リクエストで30秒なんてかかる処理なんて
システムとして破綻している
って思うけど、かかるのです。
特に 書 き 込 み 処 理
あまり叫ばれていない(?)けど、
噂では書きこみ処理は読み込み処理の
5 倍
の時間を要するそう。
詳しく調べていないので、ソースは無いですが
実際
50件位のエンティティの書き込みをしようとすると
余裕でタイムアウトになる。
そう噂の
DeadLineExceededException
これ。
最近かなり親しくなってきた。
まあ要は、即時反映が必要なデータではなければ
cronとかキャッシュで対応して下さい
なんて言う事らしいが、
まさかここまで意識する必要があったとは
想定外ヽ(゚∀゚)ノ
作ってるプログラムのロジックを組み替えなければいけない。
通信コストを甘く見過ぎてた。