[EMAIL PROTECTED] wrote: > Bryan> MySQL has its own process. It doesn't know nor care whether your > Bryan> application makes connections from different processes or > Bryan> different threads in the same process. > > Yes, but on the client side the data structures may or may not be > thread-safe.
I was responding to the text I quoted immediately above it: "I saw in another thread that some db engines did have issues with being called from threads." He is right about that, but it's not a problem given what he said he's using. > A session on my web server: > > [EMAIL PROTECTED] ~]$ python > Python 2.3.4 (#1, Mar 10 2006, 06:12:09) > [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import MySQLdb > >>> MySQLdb.threadsafety > 1 > >>> MySQLdb.version_info > (1, 1, 7, 'final', 1) > > Looking up threadsafety in PEP 249 we see: > > threadsafety > > Integer constant stating the level of thread safety the > interface supports. Possible values are: > > 0 Threads may not share the module. > 1 Threads may share the module, but not connections. > 2 Threads may share the module and connections. > 3 Threads may share the module, connections and > cursors. > > So if you want to use multiple threads they can't share connections. I don't see how multiple processes could share connections either. > >> My gut feeling is to use threads (note: each transaction is finite, > >> so the process/thread die fairly quickly). > > Bryan> Go with your gut. Python threads are reasonably portable, and > Bryan> work well on modern MS-Windows. > > Maybe ignore your gut and read the documentation. ;-) What in the documentation do you think answers the question? -- --Bryan -- http://mail.python.org/mailman/listinfo/python-list