2011年1月25日火曜日

Deploy 再び

開発中のシステムはソーシャルスタイルの診断システムをスタイルの学習システムです。
スタイル診断までをアカウントの登録、ログイン、質問紙の回答とかの一通りのアプリケーションを開発して、web2pyの開発環境で試験、コマンドライン、python2.5 web2py.pyでサーバーをスタートして滞りなく来ました。
そこでGAEにアップロード、deployしたのですが、internal errorの頻発でticketも閲覧できない。Googleのコンソールからデータベースのチケットを見ても何のことやら皆目分からない。
そこで何処かに書いてあったのはindex.yamlのこと。このファイルはこのアプリケーションが実行したデータベースアクセスを記録して、deployと同時にGAEのデータベースにインデックスを作成するということ。
探したができていない。

inde.yamlはdev_appserverを走らせないと作らない。dev_appserverはGAEの実行環境のサンドボックス(sandbox)であり、データベースをファイルシステムでシミュレートする。

ようするにweb2pyでサーバーを走らせたときはsqliteでデータベースを走らせる。dev_appserverはGAEのデータストレージを仮装してくれるというわけ。

dev_appserverはデバグ用のコンソールがあって
localhost:8080/_ah_adminで開きました。

dev_appserverで、実行してインデックスを作ったら

appcfg.py update_indexes web2py

でインデックスだけアップロードしてくれます。

役にたったURLは
開発については
http://code.google.com/intl/ja/appengine/docs/python/tools/devserver.html

アップロードと管理については
http://code.google.com/intl/ja/appengine/docs/python/tools/uploadinganapp.html
です。


結論
web2py.pyで開発して試験しても、dev_appserverで一通りのデータベースアクセスをしないとGAEでは動かないということ。

0 件のコメント:

コメントを投稿