我正在使用z3c.saconfig在Plone / Zope应用程序中配置sqlalchemy。在此应用程序中,我们使用named_scoped_session("dbmyapp")
z3c.saconfig方法创建了一个Session sqlalchemy。会话已创建并且运行良好。但是我们只为应用创建了一个Session。
这个[一个会话sqlalchemy / app]可以成为应用程序的瓶颈吗?
顺便说一句,我们可以为每个应用创建多个会话吗?有什么好处吗?
buildout.cfg片段:
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:db="http://namespaces.zope.org/db">
<include package="z3c.saconfig" file="meta.zcml" />
<db:engine name="dbmyapp" url="oracle://user:pass@hostname:port/sid" />
<db:session name="dbmyapp" engine="dbmyapp" />
</configure>
答案 0 :(得分:1)
会话机制负责为每个线程提供一个连接;因为你只能在一个线程中执行顺序代码,连接不会成为瓶颈。
代码的不同部分可以请求自己的会话;会话机制将根据需要重用会话连接。这通常不必担心,z3c.saconfig
及其依赖关系都是为您处理的。