Hi!
I'm trying to use py-xmlrpc. All works fine (and very fast) in
one-threaded case, but I really have to serve many clients.

As advertised, py-xmlrpc supports non-blocking calls (via select).

When request is received the handler is called with proper parameters.
As I understood from reading the source, if rpc call can't be executed
immediately (or takes long time) respond can be postponed by raising
postpone exception and when respond is ready, calling queueResponse() .


I wanted to have a pool of worker threads listening on a queue. In the
"lengthy command handlers", post data on the queue and raise postpone.
Threads from the pool respond by calling queueResponse() when rpc is
done.

Server trace tells me that postpone was received, but client reacts as
if socket was closed (got EOS while reading). I tryed to supress
default error handling on the client side by returning from OnErr()
xmlrpc.ONERR_KEEP_WORK, but this kills the interpreter!
What am I doing wrong?

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to