Skip to content

Instantly share code, notes, and snippets.

@rm-you
Created March 29, 2017 15:46
Show Gist options
  • Save rm-you/7f13ececa82d7ecf6e7c46387409dc9c to your computer and use it in GitHub Desktop.
Save rm-you/7f13ececa82d7ecf6e7c46387409dc9c to your computer and use it in GitHub Desktop.
@contextlib.contextmanager
def get_lock_session():
"""Context manager for using a locking (not auto-commit) session."""
lock_session = get_session(autocommit=False)
try:
yield
lock_session.commit()
except Exception:
with excutils.save_and_reraise_exception():
lock_session.rollback()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment