def _native_runner(f):
def cleanup_wrapper(*args, **kwargs):
with db.cleanup_session():
r = f(*args, **kwargs)
return r
parent = weakref.proxy(gevent.getcurrent())
frame = sys._getframe()
def wrapper(*args, **kwargs):
if utils.get_context(None) is None:
g = gevent.getcurrent()
try:
g._hp_inherit(parent, frame)
except AttributeError:
async.Greenlet._hp_inherit(g, parent, frame)
return cleanup_wrapper(*args, **kwargs)
return wrapper
评论列表
文章目录