中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

Google App Engine:セッション管理

Google App Engineで作成したサイト

http://2ndpen.appspot.com/

http://2ndfoto.appspot.com/

のセッション管理を、

≪gaeutilities≫

http://gaeutilities.appspot.com/

から、

≪gae-sessions≫

https://github.com/dound/gae-sessions

に変更。

gaeutilitiesを使って数日間セッションを保持していると、数日後sessions.Session()でエラーになる。cookieが残っていて、memcacheが消えたりしているのかもと思うが、原因不明。この場合、ブラウザのCookieを全て消去しないと復旧できない。gae-sessionsに変更してしばらく様子を見ることにする。

gae-sessionsの使用方法は、以下のサイトが参考になりました。

≪ACC開発ブログ:GAEでセッションを使ってみた by gae-sessions≫

http://d.hatena.ne.jp/iacctech/20110612/1307899228

gaeutilitiesからgae-sessionsへの変更メモ書き。

1. gaesessions/__init__.pyをアプリケーションフォルダへコピー。

2. appengine_config.pyを作成。(cookie_keyを適当に変える)

3. Pythonソースの以下の箇所を変更。

from appengine_utilities import sessions

↓↓↓

from gaesessions import get_current_session

sessions.Session()

↓↓↓

get_current_session()

self.sess.delete()

↓↓↓

self.sess.terminate()