我正在运行一个带有 mod_wsgi 和 apache 的 TurboGears 应用程序,使用用 Ming 包装的 pymongo 来实现持久性。为了防故障和扩展我的应用程序,我有兴趣通过 pymongo ReplicaSetConnection使用 mongo 对副本集的支持。
但是,如上述链接中所述,必须close()
在处理完每个 pymongoReplicaSetConnection
对象后调用,否则会留下一堆僵尸进程(wtf pymongo)。Ming 不太支持这种行为(它实际上还没有真正支持 Replica Sets),但我设法编写了一个清理函数来关闭所有 pymongo 连接。
现在我想对我的所有应用程序进程的进程清理运行我的清理功能。它们有两个基本入口点:通过 apache 和 paste 命令的 mod_wsgi。将我的清理添加到 paste 命令中是没有问题的,但是有没有办法为 wsgi 进程指定清理功能?
如果没有,还有其他正确设置的建议吗?