I edited my original post before hitting submit, and managed to clear out the important stuff. Ha.
On Wednesday, April 6, 2016 at 2:42:38 PM UTC-4, Jeff Dairiki wrote: > > I use a reified request property to create the SqlAlchemy session. > The factory function adds an "add_finished_callback" to close the session. I do that in all my personal/work apps. Right now, I'm using the stock scaffold with global scoped session for a side project that I'm open sourcing. > (Why don't you have access to the request?) > I'm trying to keep things simple and do this in app/__init__.py. the `main` function only has a config object, the request doesn't exist yet. def main(global_config, **settings): config = Configurator(settings=settings) wsgi_app = config.make_wsgi_app() return wsgi_app so I need to somehow use a hook that has a request object. two things that came to mind: tweens and events. def db_cleanup__tween_factory(handler, registry): def db_cleanup__tween(request): try: response = handler(request) return response finally: DBSession.close() return db_cleanup__tween def db_cleanup__event(event): event.request.add_finished_callback(lambda request: DBSession.close()) def main(global_config, **settings): ... config.add_tween('app.db_cleanup__tween_factory', over=EXCVIEW) config.add_subscriber("app.db_cleanup__event", "pyramid.events.NewRequest") ... -- You received this message because you are subscribed to the Google Groups "pylons-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-devel+unsubscr...@googlegroups.com. To post to this group, send email to pylons-devel@googlegroups.com. Visit this group at https://groups.google.com/group/pylons-devel. For more options, visit https://groups.google.com/d/optout.