tornado 能否使用SqlAlchemy 的 scoped_session ?
scoped_session 是sqlalchemy处理数据库的链接入口,可以理解为sqlalchemy的数据库链接的游标。这个东西本身是线程安全的。可是如果tornado作为wsgi server,本身也是单线程。有可能有问题。
当然,即使是单线程,如果每个scoped_session 绑定的是一个request,应该也是安全的,题主可以测试。有两篇文章介绍了使用方法:
Integrating SqlAlchemy with Tornado
Scoping SQLAlchemy's Session while using Tornado.gen
还有另外一个 oz 库,作者写了很多用于tornado的scaffold。其中就有关于sqlalchemy的使用的middleware。
没试过,很可能不行,tornado是单线程的,如果需要使用session的话最好用redis自己做一个