数据库群集会话管理器
dbcluster的Python项目详细描述
dbcluster:数据库群集会话管理器
克里斯哈迪kris@abqsoft.com
注意:此代码处于早期测试阶段,正在积极开发中。请小心使用,直到代码稳定到1.0版(目标:2019年5月)
此数据库引擎管理器管理主/从数据库连接和 会话管理。这对于需要为主/从数据库集群管理sqlalchemy数据库引擎和sessionmaker的应用程序非常有用。
示例用法:
importsqlalchemyfromdbclusterimportMasterSlaveManagermanager=MasterSlaveManager()# Set up the master(s)manager.append_master(sqlalchemy.create_engine('postgresql://127.0.0.1:5432'),orm=MasterSlaveManager.ORM_SQLALCHEMY)# Set up slavesmanager.append_slave(sqlalchemy.create_engine('postgresql://127.0.0.1:5433'),orm=MasterSlaveManager.ORM_SQLALCHEMY)manager.append_slave(sqlalchemy.create_engine('postgresql://127.0.0.1:5435'),orm=MasterSlaveManager.ORM_SQLALCHEMY)# Use the database sessionswithmanager.master_session_ctx()asdb_session:# Do something with the session ...db_session.commit()withmanager.slave_session_ctx()asdb_session:# Returns a random slave session# Do something with the session ...db_session.commit()withmanager.slave_session_ctx(0)asdb_session:# Returns a session to the first slave# Do something with the session ...db_session.commit()