文章What the Zope Transaction Manager Means To Me (and you),演示了一個很好的方式,以一個SQLAlchemy的DB會話連接到每個請求是這樣的:線程安全的SQLAlchemy會話請求
def includeme(config):
settings = config.get_settings()
engine = engine_from_config(settings)
maker = sessionmaker()
register(maker)
maker.configure(bind=engine)
config.add_request_method(lambda request: maker(), 'db_session', reify=True)
這種方法的問題是,「事務管理器仍然作爲本地設計的線索提供「。任何想法如何解決它?謝謝!
這不僅僅是交易管理,在這裏你也有會話上的線程局部約束。你看過http://docs.sqlalchemy.org/en/latest/orm/contextual.html#using-thread-local-scope-with-web-applications – sdupton