SimpleXMLRPCServer and Threading

Laszlo Nagy gandalf at designaproduct.biz
Thu Mar 29 16:48:20 EDT 2007


Jeff McNeil wrote:
> This is off of memory so I apologize if I don't get all of the details right.
>
> The base SimpleXMLRPCServer uses TCPServer as it's server component
> and SimpleXMLXMLRPCRequestHandler as it's handler. The handler is a
> subclass of BaseHTTPRequestHandler, which itself doesn't handle any
> multithreading.  You need to use one of the *MixIn classes if you want
> to handle concurrent requests.
>   
Does it mean that, if I subclass from ThreadingMixIn then my exported 
functions will be called from different threads? I created many multi 
threaded servers, based on TCPServer, but I'm not sure about 
XMLRPCServer.  I used to create my own handler class and in that case, a 
new handler instance was created for each request, then a new thread was 
created and handle_request was called from that new thread. I guess that 
in this case, a new SimpleXMLXMLRPCRequestHandler is created for each 
request and a new thread is started.... but I'm not sure. Please help us 
out.

By the way, we should have __server__ examples in the documentation of 
xmlrpclib, right? What is the right way of contributing an example?

Best,

  Laszlo




More information about the Python-list mailing list