有选择地创建会话网页.py

2024-04-26 22:19:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个网页.py应用程序在OpenShift下运行,并启用缩放功能。HAProxy进程一直在通过http1.0检查索引文档,看看我的应用程序是否启动了。例如,日志如下所示:

 ==> python/logs/appserver.log <==
127.2.1.129 - - [2013-12-25 13:32:09] "GET / HTTP/1.0" 200 7297 1.240403
127.2.1.129 - - [2013-12-25 13:32:12] "GET / HTTP/1.0" 200 7297 0.676904
127.2.1.129 - - [2013-12-25 13:32:15] "GET / HTTP/1.0" 200 7297 1.421824
127.2.1.129 - - [2013-12-25 13:32:18] "GET / HTTP/1.0" 200 7297 0.730807
127.2.1.129 - - [2013-12-25 13:32:21] "GET / HTTP/1.0" 200 7297 1.153252
127.2.1.129 - - [2013-12-25 13:32:24] "GET / HTTP/1.0" 200 7297 0.828387
127.2.1.129 - - [2013-12-25 13:32:28] "GET / HTTP/1.0" 200 7297 1.390523
127.2.1.129 - - [2013-12-25 13:32:31] "GET / HTTP/1.0" 200 7297 0.964495
127.2.1.129 - - [2013-12-25 13:32:35] "GET / HTTP/1.0" 200 7297 2.574379
127.2.1.129 - - [2013-12-25 13:32:39] "GET / HTTP/1.0" 200 7297 2.011549

问题就在这里。对于每个请求,我的应用程序都会创建一个单独的会话实例。我使用DiskStore进行会话,因此每个请求都会创建一个单独的文件,我很快就达到了OpenShift的80000个文件限制(在连续创建这样的会话3天左右之后)。奇怪的是,我的index getter根本没有使用或访问session变量。事实上,我尝试过将其更改为只返回“Hello World”,但对象仍然每隔2-5秒创建一次。在

我需要A)限制HAProxy测试我的站点的频率,或者更理想的B)不为每个连接创建会话

有什么想法吗?我有一个很好的标准网页.py会话初始值设定项位于主应用程序文件顶部(不在任何方法内):

^{pr2}$

Tags: 文件实例文档py功能log应用程序http
2条回答

我想删除旧的会话。不知道他们为什么不帮你清理。在

编辑:

我是说,让你的应用程序清理旧的会话,当然。在

您可以更改HAProxy配置以指向不创建会话的运行状况检查端点。在

这可以通过编辑haproxy/conf来完成/哈普罗西.cfg文件,查找选项httpchk GET/行,它在文件的底部。在

如果将其更改为指向不创建会话文件的另一个URL端点,则应避免此问题。在

我是从https://www.openshift.com/forums/openshift/war-deployment-behind-haproxy那里得到这个主意的

相关问题 更多 >