sqlalchemy mysql服务器已经消失了

时间:2010-12-01 16:14:37

标签: python mysql sqlalchemy

我已经阅读了许多类似的问题,但似乎没有解决我的问题。我正在运行一个pylons应用程序并使用SQLAlchemy连接到2个数据库。通过配置文件配置的主服务器完美无故地运行。我正在尝试通过初始化模型中定义的类来连接到第二个数据库,如下所示:

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(使用与我的工作数据库匹配的时间)就足以防止这种情况,但事实并非如此。有谁能推荐一个解决方案?感谢。

1 个答案:

答案 0 :(得分:2)

我最近遇到了同样的问题,并通过确保它始终关闭事务来解决它,即使在SELECT之后也是如此。只需将DB2.session.commit()添加到您使用它执行某些操作的每个位置,它就应该开始循环连接。