如何在Python Flask项目中启用Cloud Foundry的粘性会话?

时间:2016-03-22 08:00:38

标签: python session cloudfoundry

我正在开发一个使用python在Cloud Foundry中运行的应用程序。当我尝试扩展实例时,我发现每次以循环方式将客户端请求路由到不同的实例。但是,我的应用程序将数据保存在会话中,这要求请求之间保持一致。

我找到了来自CloudFoundry的文档,它引入了jsessionid以使其保持一致。 https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#sessions

以下是我为测试粘性会话而编写的代码段。但即使我把jsessionid放入cookie,它也不起作用。任何人都可以帮忙吗?谢谢

@app.route('/') 
def sticky_session():
    ret = "VCAP_APPLICATION env var: <br/>" + os.getenv("VCAP_APPLICATION", "") + "<br/>"
    ret += "<br/>"
    ret += "Port: " + os.getenv('PORT', '5000') + "<br/>"
    resp = make_response(ret)
    resp.set_cookie('jsessionid', 'your secret here.')
    session['test'] = 'test'
    return resp

1 个答案:

答案 0 :(得分:1)

终于有效了。唯一的区别是cookie是区分大小写的,应该是大写的。

resp.set_cookie('JSESSIONID', 'your secret here.')