xmlrpclib

G

Graeme Matthew

G'day everyone

Just wanted to know if anyone knows if xmlrpclib is scalable i.e can handle
many / asynchronous calls.

Any help or advice is appreciated

Cheers


Graeme
 
R

Roger Binns

Graeme said:
Just wanted to know if anyone knows if xmlrpclib is scalable i.e can
handle many / asynchronous calls.

You should specify what goal it is you are trying to achieve. For example
it isn't clear if you are talking about the server end or the client
end.

Additionally you haven't said how far apart the client and server are.
(Same machine? Same LAN? Same continent?)

xmlrpc is not asynchronous. It is a request/response model. Each request
gets exactly one response. There is no method for sending data outside
of that. For example the server end can't send random event messages
without the client end polling for them.

And what do you mean by handle? Is that a speed question, a reliability
question, a size of data structures question?

Lastly the current Python xmlrpc implementation, both client and
server end makes one network connection per request/response pair
and then closes it.

Roger
 
G

Graeme Matthew

I was a big vague, I hope this makes more sense.

I am talking about the server end.

I understand that xml-rpc is a request response mechansim (i.e it runs over
http).

The client and the server will span continents i.e Australia to US, US to
Australia.
What I am trying to establish is if the server is asynchronous i.e
multi-threaded i.e what happens when 2 requests hit the server at once?

i.e Does it handle one request at a time?
i.e Does it start a new thread on each request?
i.e Does it use a threading pool?

I am trying to find other people who have used it successfully as most of my
dev work is in python.

Hope this helps

Cheers

Graeme
 
S

Skip Montanaro

Graeme> What I am trying to establish is if the server is asynchronous
Graeme> i.e multi-threaded i.e what happens when 2 requests hit the
Graeme> server at once?

You can write a multi-threaded server using xmlrpclib and SocketServer. I
use one behind the Mojam and Musi-Cal websites. Mine happens to start a new
thread for each request, but I suppose you could write one which uses a
thread pool model.

Skip
 
R

Roger Binns

Graeme said:
What I am trying to establish is if the server is asynchronous i.e
multi-threaded i.e what happens when 2 requests hit the server at
once?

That depends which server you use. The SimpleXMLRPCServer uses
the standard Python SocketServer stuff, so you can do it in
as many different ways as you want.
I am trying to find other people who have used it successfully as
most of my dev work is in python.

I use xml-rpc, but instead of over HTTP, I actually do it over
SSH (using the Paramiko library for the SSH). It works well
for cross country/continent stuff.

In another project I just use the default one request at a time
handler in the Python xmlrpc server end. The client is in PHP
running on the same machine.

Roger
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top