2

私はよくある問題のように見えるものに遭遇しています。ただし、よく提案される解決策は、ここでは機能しないようです。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**
4

1 に答える 1