使用CGI处理程序无法启用threadsafe

are*_*eke 4 python google-app-engine

我一直在尝试关注这个问题,以便在应用程序上实现openID身份验证,但我完全迷失了.无论我尝试什么,我都会遇到这个错误:

Fatal error when loading application configuration:
Invalid object:
threadsafe cannot be enabled with CGI handler: main.py
Run Code Online (Sandbox Code Playgroud)

有谁知道如何实现openID登录?

Ümi*_*mit 31

这与OpenID无关.

如果你在Google App Engine中使用新的Concurrent Requests(threadsafe = true)模式和python 2.7,你必须确保在app中指定一个WSGI应用程序(例如myapp.app)而不是CGI处理程序(例如myapp.py) .yaml(有关详细信息,请参阅此处):

看起来像这样:

app.yaml中:

application: myapp
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
   - url: /.*
    script: myapp.app
Run Code Online (Sandbox Code Playgroud)

main.py:

import webapp2

class MainPage(webapp2.RequestHandler):
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.out.write('Hello, WebApp World!')

app = webapp2.WSGIApplication([('/', MainPage)])

""" Old code:
def main():
  run_wsgi_app(app)

if __name__ == '__main__':
  main()
"""
Run Code Online (Sandbox Code Playgroud)

或者,您也可以禁用并发请求(threadsafe = false)并使用旧的CGI处理程序.