Here's what I ended up with for persistent thread-local Durus
connections in Pylons. It works in my test, using a TCP socket to the
database server and doing multiple requests until a thread is reused.
Are there any flaws in the coding?
Is CONFIG["global_conf"]{"__file__"] the best way to get the config
file's path? Will it always be defined?
To test if the socket is still alive, I do a makeshift "version"
command to the server. I think Durus ClientStorage needs a dedicated
method for this. (.ping() or .is_connected()) (Note: this catches
IOError if the server has been killed or restarted.)
Is there a way to do the equivalent of thread.get_ident() from the
threading module or Thread objects? This seems to be the only way to
get a thread ID.
Is there a way to get an application instance ID to distinguish
between multiple instances of the same application? This is not the
same as id(the_controller), which would change every request.
--
Mike Orr