我已经阅读了许多类似的问题,但似乎没有一个能解决我的问题。我正在运行一个pylons应用程序,并使用SQLAlchemy连接到2个数据库。通过配置文件配置的主服务器工作正常,没有问题。我试图通过初始化model中定义的类来连接到第二个数据库,如下所示:
class DB2(object):
def __init__(self):
self.engine = sa.create_engine('mysql://someaddress:3306/database', echo=False, pool_recycle=1800)
self.meta = sa.MetaData(self.engine)
<define tables>
<define mappings>
Session = orm.sessionmaker(bind=self.engine, autoflush=False, autocommit=False)
self.session = Session()我以为在那里定义pool_recycle (使用与我的工作数据库匹配的时间)就足以防止这种情况发生,但事实并非如此。有人能推荐一个解决方案吗?谢谢。
发布于 2010-12-02 15:03:00
我最近遇到了同样的问题,并通过确保它总是关闭事务来解决它,即使在SELECT之后也是如此。只需将DB2.session.commit()添加到您对其执行某些操作的每个位置,它就会开始循环连接。
https://stackoverflow.com/questions/4326387
复制相似问题