2

我有一个使用会话中间件运行的应用程序来处理登录用户。这是在 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。

4

1 回答 1

0

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

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)包含

于 2019-07-27T21:08:28.813 回答