我想知道在falcon中创建范围会话的最佳位置在哪里。
从阅读flask-sqlalchemy代码,它以一种迂回的方式做了类似于这样的事情:
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
try:
from greenlet import get_current as get_ident
except ImportError:
try:
from thread import get_ident
except ImportError:
from _thread import get_ident
connection_uri = 'postgresql://postgres:@localhost:5432/db'
engine = create_engine(connection_uri)
session_factory = sessionmaker(bind=engine)
session_cls = scoped_session(session_factory, scopefunc=get_ident)
session = session_cls()
这对falcon可行吗?在使用gunicorn时,get_ident
函数会“做正确的事情”吗?
resource.session.close()
还是resource.session.remove()
? - misakmself.Session.remove()
吗? - bmelton