Clear all objects from the SQLAlchemy session at the start of each request.
authorEvan Broder <broder@mit.edu>
Sun, 21 Feb 2010 05:55:52 +0000 (00:55 -0500)
committerEvan Broder <broder@mit.edu>
Sun, 21 Feb 2010 05:55:52 +0000 (00:55 -0500)
The SA identity mapper isn't *supposed* to be a cache, but it sure can
act like one sometimes.

svn path=/trunk/packages/invirt-web/; revision=2993

code/invirt.fcgi
code/view.py

index 64d55f7..41d724a 100755 (executable)
@@ -42,6 +42,7 @@ if __name__ == "__main__":
     app_config = {
         '/': {
             'tools.invirtwebstate.on': True,
+            'tools.clear_db_cache.on': True,
             },
         }
 
index 9452cf0..5f32874 100644 (file)
@@ -7,6 +7,7 @@ import simplejson
 import datetime, decimal
 from StringIO import StringIO
 from invirt.config import structs as config
+import invirt.database
 from webcommon import State
 
 
@@ -163,6 +164,9 @@ cherrypy.tools.invirtwebstate = cherrypy.Tool('on_start_resource',
                                               invirtwebstate_init, priority=100)
 
 
+cherrypy.tools.clear_db_cache = cherrypy.Tool('on_start_resource', invirt.database.clear_cache)
+
+
 class View(object):
     _cp_config = {'tools.mako.directories':
                       [os.path.join(os.path.dirname(__file__),'templates')]}