私はよくある問題のように見えるものに遭遇しています。ただし、よく提案される解決策は、ここでは機能しないようです。App Engine を実行しようとすると、「CGI ハンドラでスレッドセーフを有効にできません」というメッセージが表示されます。もちろん、ドキュメントはひどいものです。私は webapp2 を使用しているので、スレッドセーフは問題になりません。
私のファイル構造は次のようになります: backend/api/get_json.py - /api/*.json に来るすべての HTTP リクエストを処理します。つまり、backend/ セクションはエンド ユーザーから隠されています。
/backend/api/get_json.py にある Python ファイルを app.yaml が認識して適切にロードするのに問題があります。
app.yaml ファイル:
application: ebtest
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /api/.*\.json
script: backend/api/get_json.application
libraries:
- name: webapp2
version: "2.5.2"
バックエンド/api/get_json.py
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, World!')
application = webapp2.WSGIApplication([
('/api/get_users.json', MainPage),
], debug=True)
エラー
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 177, in _HandleEvents
raise yaml_errors.EventError(e, event_object)
google.appengine.api.yaml_errors.EventError: **threadsafe cannot be enabled with CGI handler: backend/api/get_json.application**