@mike - yes, uwsgi is that kind of server. It takes advantage of copy-on-write memory
This sounds like Jens is connecting to the database before it forks (usually any code that isn't wrapped in request logic) uwsgi has a postfork hook, which can be handled via a decorator (http://uwsgi-docs.readthedocs.io/en/latest/PythonDecorators.html#uwsgidecorators.postfork) or api. the common way to handle this is with a fixup routine, and `dispose` on each engine (http://docs.sqlalchemy.org/en/latest/core/connections.html#sqlalchemy.engine.Engine.dispose) def my_atfork(): for engine in models.engines: engine.dispose() i have a tiny intregration for it under pyramid available on pypi (https://github.com/jvanasco/pyramid_forksafe) , which I only packaged up because we occasionally run things on gunicorn and I maintaining two fixups was annoying. the key thing to look at is in my uwsgi `container` code (https://github.com/jvanasco/pyramid_forksafe/blob/master/pyramid_forksafe/containers/uwsgi.py) and the try/except with the uwsgidecorators package. that package is only loaded when you're running under uwsgi - it's not otherwise available in the same python environment. you need to wrap it in a try/except, otherwise your app won't run under pserve/waitress or any other development framework. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.