在SqlAlchemy中为单独的REST请求分隔会话对象?

时间:2014-01-14 06:02:47

标签: python mysql session sqlalchemy cherrypy

我正在使用sqlalchemy(使用MySQL作为数据库)和cherrypy。我创建了一个应用程序范围的引擎。我从SqlAlchemy Sessions Doc读到会话不是线程安全的。这是否意味着我应该为每个REST请求创建一个单独的会话?如果是,会话是否在sqlalchemy中使用默认连接池(pool_size = 5和max_overflow = 10)?这是否意味着可以毫无问题地处理15(pool_size + max_overflow)并发请求?此外,单个连接池是属于sqlalchemy Engine还是属于单个Session对象?

1 个答案:

答案 0 :(得分:0)

提供代码的一部分会更好。但首先应该阅读Official doc about Thread-local Sessions

据我所知,我们需要为每个线程使用单独的会话。当我试图制作我的第一个应用程序时,我没有这样做,有时我遇到了错误。 cherrpy有一个SQLA tool,您可以使用此工具或为自己编写更简单的工具。

相关问题