Google App Engine SDK 1.6.0がリリースされた。待望のPython 2.7対応。ようやく2.5から解放された。
しかし、そのままのコードではPython 2.7を使うことはできない。2.7に移行するための作業が必要である。
移行手順については Nick's Blog にMigrating to Python 2.7, part 1: Threadsafe が記述されている。(part2はこちら)
以下 python 2.7 を使う為のメモ。
app.yaml は以下のように変更する。
application: yourappname version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: main.app
runtime行にpython27と明示する。threadsafe行にスレッドセーフであればtrueと書く。同じインスタンスで同時に、つまりパラレルに実行される。falseの場合は、シリアルに実行される。Hello, World!のページを参考。
handlers:のscript行、今までは拡張子 .py を記述していたが、ここを任意の文字列に変更する。ここでは .app とした。 .app としても作成するファイルは依然として main.py であることに注意する。
スクリプト側ではrun_wsgi_appを呼び出す必要は無くなった。app.yamlで拡張子部に指定した名前の変数にwebapp2.WSGIApplicationの戻り値を代入する。
スレッドのロックはthreading.Lock()でロックを取得しておき、withを使う。
0 コメント:
コメントを投稿