Cleanup Session after each request.

It's good practice to cleanup the SQL session after each
request so that the next request gets a fresh one.

It's an application decision whether one wants a
just-in-case ROLLBACK or COMMIT. There are two ideas behind
it, really. I have decided for ROLLBACK. The idea is "if
you forget to commit your changes yourself, there's
something broken. Maybe you got an exception?".
This commit is contained in:
Elrond 2012-01-28 13:10:01 +01:00
parent 3502958113
commit 2bc8ff0d63
2 changed files with 9 additions and 0 deletions

View File

@ -184,6 +184,14 @@ class MediaGoblinApp(object):
for m in self.meddleware[::-1]:
m.process_response(request, response)
# Reset the sql session, so that the next request
# gets a fresh session
try:
self.db.reset_after_request()
except TypeError:
# We're still on mongo
pass
return response(environ, start_response)

View File

@ -36,6 +36,7 @@ class DatabaseMaster(object):
Session.flush()
def reset_after_request(self):
Session.rollback()
Session.remove()