[Web-SIG] WSGI thread affinity/interleaving

Ian Bicking ianb at colorstudy.com
Sun Dec 18 20:33:05 CET 2005


James Y Knight wrote:
> I'm worried about database access. Most DBAPI adapters have  
> threadsafety level 2: "Threads may share the module and  
> connections.". So with those, at least, it should be fine to move a  
> connection between threads, since "share OK" implies "move OK".  
> However, no documentation I've found has said anything separately  
> about whether it's safe to _move_ a cursor between threads. It seems  
> likely to me that it would not be safe, at least in some database  
> adapters. And if it's not safe, that means a WSGI result iterator  
> cannot use any DBAPI cursor functionality which seems a drag.
> 
> Does anybody have practical experience with the safety of moving a  
> DBAPI cursor between threads?

I haven't done that, but SQLite (2?) notably doesn't allow you to move a 
connection between threads.  I'm not actually sure what problems it 
causes if you do move them -- it may simply be an overzealous warning.

CCing DB-SIG -- people there might know more details.

-- 
Ian Bicking  |  ianb at colorstudy.com  |  http://blog.ianbicking.org


More information about the Web-SIG mailing list