之后的战斗不同的东西在这里和那里,我终于能够得到 BottlePY 上运行的阿帕奇和运行一个MongoDB供电站。我用来运行它的应用程序,因此我将关于这一点,在我的问题。

的问题

每次页面被载入通过BottlePY,连接到MongoDB数据库位于MongoHQ.com 需要重新认证(这意味着它可能不得不重新连接).

我发现了什么

我附上了 db.keep_alive() 功能每个功能的模型,以便在任何mongodb运行查询,改掉到运行一个简单的查询。如果失败,它捉住的OperationFailure或自动重新连接的错误然后电话的 db.authenticate() 功能。后reauthenticates,我把它增加一个记录日志数据库的监视器怎么常常需要重新认证。目前,它需要重新认证在每一页上载(需要运行查询)。这不是正确的。

差从Django

我使用这一概念在决,并已经发现,数据库的连接只需要认证的10-15分钟后没有查询正在运行。

我不明白为什么创建一个pymongo连接在决会是不同的,从创造一个瓶子,因为我使用的是相同的驱动程序、职能和方法。我没有使用任何中或类似的东西。

版本

  • 瓶: 0.9.dev
  • Django: 1.2.1最后
  • PyMongo: 1.8

我感谢你的帮助!

更新:一个朋友能够采取快速审查,并注意到以下,可能有助于回答我的问题。

它显示,每一项请求是 启动一个新的蟒蛇的过程中,作为 反对Django,其中一个 进程仍然运行长 一段时间。

有帮助吗?

解决方案

这就结束了要是一个奇怪的事情之间的瓶和MongoHQ.没有真正解决被发现,但我不能重建它与其他框架。任何其他的想法表示赞赏。

其他提示

你apache xxx.conf包含这样的:

WSGIDaemonProcess project user=mysite group=www-data processes=5 threads=1 WSGIProcessGroup project

我认为最重要的应该是 threads=1

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top