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:
parent
3502958113
commit
2bc8ff0d63
@ -184,6 +184,14 @@ class MediaGoblinApp(object):
|
|||||||
for m in self.meddleware[::-1]:
|
for m in self.meddleware[::-1]:
|
||||||
m.process_response(request, response)
|
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)
|
return response(environ, start_response)
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ class DatabaseMaster(object):
|
|||||||
Session.flush()
|
Session.flush()
|
||||||
|
|
||||||
def reset_after_request(self):
|
def reset_after_request(self):
|
||||||
|
Session.rollback()
|
||||||
Session.remove()
|
Session.remove()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user