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

时间:2012-07-20 11:24:40

标签: python google-app-engine

我一直在尝试关注this turorial以便在应用上实施openID身份验证,但我完全迷失了。无论我尝试什么,我都会遇到这个错误:

Fatal error when loading application configuration:
Invalid object:
threadsafe cannot be enabled with CGI handler: main.py

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

1 个答案:

答案 0 :(得分:31)

这与OpenID无关。

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

看起来像这样:

的app.yaml:

application: myapp
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
   - url: /.*
    script: myapp.app

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()
"""

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