Ian Bicking wrote: >One technique I've thought about in lieu of round-robin pooling is >simply allocating one connection per thread. E.g.: > >def makeConnection(): > return dbadapter.connect(arg1, arg2, etc) > >_connectionPool = {} >def getConnection(): > name = threading.currentThread().getName() > if not _connectionPool.has_key(name): > _connectionPool[name] = makeConnection() > return _connectionPool[name] > > >Of course, you could phrase this as a wrapper just like DBPool. I can't >decide if there's any advantages to this or not. It doesn't rely on >garbage collection, but a single thread can't get more than one >connection (though I don't know if that's generally needed), and passing >connections between threads might be problematic. > > Ian >
Also, threads get cleaned up and new threads with new names come back. This leads to over consumption of connections which is undesirable as resources on the DB machine will not be released until the AppServer is bounced. --Karl _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss