Google App Engine:禁用服务的会话中间件

时间:2019-06-24 18:33:34

标签: python google-app-engine gae-module

我有一个运行有会话中间件的应用程序来处理登录用户。像这样在appengine_config.py中进行配置:

import datetime
from gaesessions import SessionMiddleware
import jinja2
# Add session middleware
def webapp_add_wsgi_middleware(app):
    app = SessionMiddleware(app, cookie_key="Yqjo13XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", lifetime=datetime.timedelta(minutes=30), no_datastore=True, cookie_only_threshold=0)
    return app

我现在创建了一个服务来处理cronjob请求,但是我不希望它加载会话中间件。有没有办法让该服务位于单独的目录中,但在应用程序根目录中具有cronservice.yaml,而忽略appengine_config.py中的设置?这些仅适用于默认应用程序Web UI。

1 个答案:

答案 0 :(得分:0)

由于我的应用程序分为几种服务,因此我的前端控制器位于子目录前端/控制器中,因此我检查了路由器信息并在需要时导入模块:

def webapp_add_wsgi_middleware(app):
# If frontend add session middleware
if 'frontend' in str(app.router):
    # Setup GAE sessions
    import datetime
    from gaesessions import SessionMiddleware
    import jinja2
    app = SessionMiddleware(app, cookie_key="XXXXX", lifetime=datetime.timedelta(minutes=30), no_datastore=True, cookie_only_threshold=0)

return app

点击后 str(app.router)包含