在我的基于网络的应用程序中,我决定使用Cherrypy 3.2作为http框架。
我正在使用cherrypy.Application
类创建WSGI兼容的appliaction对象,该对象通过Apache2与mod_wsgi一起提供。
另外,我只使用SQLalchemy 0.7.3(不是ORM)的核心组件。可以使用一些工具来实现每个请求的正确会话绑定(如SATools)。但SQLalchemy的Session对象是ORM的一部分,而不是核心。
所以我开始思考如何制作类似的工具,但没有会话。
SQLalchemy的文档说:
对于使用os.fork系统调用的多进程应用程序, 或者例如Python多处理模块,它通常是 要求为每个子进程使用单独的引擎。
那么如何正确地为每个樱桃线创建一个引擎?请注意,线程是由apache2(可能)创建的。
谢谢!!
编辑:可能很重要的是,wsgi应用程序是由apache2以守护进程模式运行的
答案 0 :(得分:0)
在mod_wsgi下,如果我理解这个问题,我不认为这是一个问题,因为应用程序没有在mod_wsgi中的fork之前预先加载到内存中。相反,应用程序被单独加载到每个不同的进程中,因此通过fork继承而没有共享内容的问题。