我正在使用sqlalchemy(使用MySQL作为数据库)和cherrypy。我创建了一个应用程序范围的引擎。我从SqlAlchemy Sessions Doc读到会话不是线程安全的。这是否意味着我应该为每个REST请求创建一个单独的会话?如果是,会话是否在sqlalchemy中使用默认连接池(pool_size = 5和max_overflow = 10)?这是否意味着可以毫无问题地处理15(pool_size + max_overflow)并发请求?此外,单个连接池是属于sqlalchemy Engine还是属于单个Session对象?
答案 0 :(得分:0)
提供代码的一部分会更好。但首先应该阅读Official doc about Thread-local Sessions
据我所知,我们需要为每个线程使用单独的会话。当我试图制作我的第一个应用程序时,我没有这样做,有时我遇到了错误。 cherrpy有一个SQLA tool,您可以使用此工具或为自己编写更简单的工具。