Problem turns out to have been with my ISAPI WSGI interface, it looks
like it has a broken thread local model.  More details here if anyone
is interested:

http://groups.google.com/group/sqlalchemy/browse_thread/thread/fbca1399020f6a2e

On Nov 6, 5:19 pm, Randy Syring <[EMAIL PROTECTED]> wrote:
> Thank you for taking the time to respond, I really appreciate it!
>
> On Nov 6, 2:46 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
>
> > you should definitely create the engine and metadata on a per-process  
> > basis.   When using SQLite, the engine automatically chooses the  
> > "SingletonThreadPool" connection pool, which will maintain a single  
> > SQLite connection per application thread, which is never moved across  
> > threads (unless you did so explicitly).  
>
> Ah, well there is something I have overlooked.  I have been forgetting
> that there is a connection object since I never use it directly.  I
> was actually thinking that the engine was the connection, but I see
> now that is not accurate.  But would I need to close the connection
> explicitly after each request?
>
> > The error you're getting  
> > would only occur if you are sharing the connection returned by the  
> > engine across threads, which can also occur if you're using a single  
> > Session that's bound to a connection across threads.  When using the  
> > scoped_session() manager, this also should not occur - some  
> > description of this lifecycle is 
> > athttp://www.sqlalchemy.org/docs/05/session.html#unitofwork_contextual_...
> >   .
>
> I do not believe that I am sharing the connection object across
> threads, at least not deliberately.  The only sqlalchemy objects I am
> working with are an engine (which is stored at the process level), the
> metadata (which is unbound and stored at the process level), and a
> scoped session.  At the end of each request, I call remove() on the
> scoped session class, which I assumed was enough.  Would there be
> anything else I should do at the end of a request in order to "clean
> up"?
>
> Also, I am using Elixir.  Is it possible that Elixir is holding on to
> a connection object I don't know about?  It uses scoped sessions by
> default as well.
>
> Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to