2008年9月22日月曜日

Google App EngineのSDKについて

DeadlineExceededErrorの話を前回書いたけれども、こいつにはもう一つ困ったことがあって、ローカル環境で開発するためのSDKにDeadlineExceededErrorクラスが存在しないの。
もちろん発生もしないのだが。

そのせいで、DeadlineExceededErrorのインポートでエラーになるから、ホストの判定がlocalhostだったらインポートしないようにしつつ、例外キャッチの部分ではどうしてもDeadlineExceededErrorを書かんとあかんので、ダミーのDeadlineExceededErrorクラスを定義してやるというような工夫を余儀なくされている。

インポートをifブロックに入れるなんてできるとは知らなかった頃は、ローカルの時はDeadlineExceededErrorをコメントアウトして、アップするときはコメントを消す、なんて涙ぐましい努力をしていたのだった。消し忘れてDeadlineExceededErrorをトラップできなかったりね。

ちなみにもう一つ、memcacheという非常に有効な仕組みがGAEにはある(というかGoogleが作ったわけじゃないので、使えるようにしてある、と言うのが正しいか)のだが、これも昔のSDKでは使えなかったようだ。
しかし、少なくともSDK1.1.1のあたりでは使えたはずだし、現時点で最新の1.1.3ではローカル環境の管理ツールで、memcacheの内容を確認できるようになった。めでたい!
でも逆に本番サーバ上で確認する方法はないのだろうか??

追記:memcacheはSDK1.1.0から使えるようでした。

0 件のコメント: