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.

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.

Reply via email to