Kent <jkentbo...@gmail.com> wrote:

> In cases where we interact with the database session (a particular 
> Connection) to, for example, obtain an application lock which is checked out 
> from database for the lifetime of the database session (not just the duration 
> of a transaction), it is important that I guarantee future scoped session 
> instances get the same connection (and, for example, the pool_recycle or 
> something else has thrown out that connection and grabbed a new one).
> 
> Please advise me where I can best implement this guarantee.  A Session 
> subclass's connection() method seems it might be the appropriate place, but 
> let me know if there is a better recipe.

you’d want to create that Session associated with the Connection directly:

my_session = scoped_session(bind=some_connection)

then of course make sure you .close() it and .close() the connection at the end 
of the use of that session.



> 
> The Session.connection() method's docs say:
> "If this Session is configured with autocommit=False, either the Connection 
> corresponding to the current transaction is returned, or if no transaction is 
> in progress, a new one is begun and the Connection returned (note that no 
> transactional state is established with the DBAPI until the first SQL 
> statement is emitted)."
> 
> If the session is one registered in my scoped registry, I'd like to always 
> return the same connection to guarantee I am using the one with the 
> database-side checked-out application lock.
> 
> What's my best option?
> 
> Thanks much!
> 
> -- 
> 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 http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to