我正在運行到看起來像一個常見問題。但是,通常建議的解決方案似乎並不適用於此。嘗試運行App Engine時,我得到「線程安全無法啓用CGI處理程序」。當然,文檔是可怕的。我正在使用webapp2,所以線程安全應該沒關係。「線程安全無法啓用CGI處理程序」
我的文件結構應如下: 後端/ API/get_json.py - 這有助於即將/api/*.json換句話說所有的HTTP請求,後端/部分是從最終用戶隱藏。
我遇到麻煩的app.yaml認識到,在/backend/api/get_json.py
app.yaml文件正確加載Python的文件:
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**
是線程安全不應該是真實的,而不是對?我也不認爲你需要在庫中指定webapp2。至少這就是我在我的應用程序 – marcadian
中的內容,我認爲現在我應該看看文檔;不幸的是,這並沒有解決問題。我離線更新了代碼,並在上面的代碼片段中。 – eb80