App Engine(python)在生产中跳过webapp中间件(如Appstats),但在dev服务器上运行正常

Jes*_*sse 10 python google-app-engine middleware web-applications appstats

我正在使用App Engine python来托管应用程序,并且很乐意使用Appstats和其他一些作为中间件运行的库.但是,当我通过appengine_config.py设置中间件时(如下所示),它可以在开发服务器上运行,但不能在生产环境中运行.Appstats和gaesessions就像开发服务器中的魅力一样,在生产中根本不起作用.这是我的appengine_config.py,位于我的root/src目录中:

from com.impactpy.gaesessions import SessionMiddleware 
COOKIE_KEY = 'nice try' 
def webapp_add_wsgi_middleware(app): 
    from google.appengine.ext.appstats import recording 
    app = SessionMiddleware(app, cookie_key=COOKIE_KEY) 
    app = recording.appstats_wsgi_middleware(app) 
    return app 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

UPDATE

因此,当我再次尝试修复它无济于事时,我正在重新启动它.我把appengine_config.py煮到了:

from google.appengine.ext.appstats import recording

def webapp_add_wsgi_middleware(app):
    app = recording.appstats_wsgi_middleware(app)
    return app
Run Code Online (Sandbox Code Playgroud)

和app.yaml包括

builtins:
- datastore_admin: on
- remote_api: on
- appstats: on
Run Code Online (Sandbox Code Playgroud)

我的应用程序使用基本的webapp,每个请求处理文件的底部包括:

application = webapp.WSGIApplication( [
    ('/handler', myHandlerClass)
    ],debug=True)

def main():
    run_wsgi_app(application)

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

部署工作正常.应用程序已经持续了一年多,并且看到了很多请求.myapp.appspot.com/_ah/stats出现显示带有刷新按钮的GUI,没有数据,并且消息"尚未记录任何请求"等等.我很困惑!

Ale*_*don 4

我认为问题在于如何导入 SessionMiddleware。尝试将 gaesessions 放在项目目录的顶层。

这是appengine_config.py我使用成功的:

from gaesessions import SessionMiddleware
from google.appengine.ext.appstats import recording

def webapp_add_wsgi_middleware(app):
    app = SessionMiddleware(app, cookie_key="s3cr3t")
    app = recording.appstats_wsgi_middleware(app)
    return app
Run Code Online (Sandbox Code Playgroud)