473,581 Members | 6,733 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Help with async xmlrpc design

I have an xmlrpc client/server system that works fine, but I want to
improve performance on the client side.

Right now the system operates like this:

client makes request from server (by calling server.request( ) via xml-rpc)
server places "request" on queue and returns a unique ID to the calling
client repeatedly asks server if the request with the given ID is
complete via server.isComple te(<id>)
server eventually completes processing request
client eventually gets an affirmative from server.isComple te(<id>) and then
client pulls results from server via server.fetchRes ults(<id>)

originally the client only made one request at a time, and each one was
processed and results fetched in order.

I want to change this so that the client can send multiple requests to
the server and have them processed in the background.
There are a lot of different approaches to that process, and I'd like
advice on the best way to go about it.

I could simply place the request checking and results fetching into a
thread or thread-pool so that the client can submit requests to some
kind of queue and the thread will handle submitting the requests from
that queue, checking for completion and fetching results.

Unfortunately, that would mean lots of calls to the server asking if
each of the requests is complete yet (if I submit 100 requests, I'll be
repeatedly making 100 "are you done yet?" calls). I want to avoid that,
so I thought there would be some way to submit the request and then hold
open the connection to the server and wait on the completion, but still
allow the server to do work.

Any advice on how to avoid polling the server over and over for request
completion, but also allowing the client to submit multiple requests
without waiting for each one to finish before submitting the next?

Thanks in advance!

mediocre nebula.

Aug 17 '06 #1
0 1727

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: glin | last post by:
Hi I am trying to integrate the xmlrpc server into a class, does anyone know how to get it working? test.html: <html> <head> <title>XMLRPC Test</title> <script src="jsolait/init.js"></script> <script src="jsolait/lib/urllib.js"></script> <script src="jsolait/lib/xml.js"></script>
by: Juan Carlos CORUÑA | last post by:
Hello all, I'm trying to create a COM Server with an embedded xmlrpc server. Here is way it must work: - The client application (programmed with a COM capable language) instantiates my COM server (programmed with python). - The COM server must have a connect interface in order to let the client application process the xmlrpc request. -...
by: Tomislav Lepusic | last post by:
Hello, I don't know if this is the right group (I'm more in Perl, know nothing about Python), so if you can help me thanks, if not, sorry to bother you. I'm working on my student project and I'm totally lost and don't have any idea how to continue, and the deadline is 1.9.2004. Please help, 'couse i'm loosing myself in this...
by: Shawn Meyer | last post by:
Hello - I am trying to write a class that has an async BeginX and EndX, plus the regular X syncronous method. Delegates seemed like the way to go, however, I still am having problems getting exactly what I want. Here are my goals 1. I would like the IAsyncResult that is returned by the Begin function to be able to be waited on or...
by: elyob | last post by:
Hi, I've got --with-xmlrpc option in my php.ini and can see on my phpinfo page. Now, how do I include this in some code? So far I've been downloading xmlrpc into a folder and just calling it from there, but if it's already installed what do I change to get this version working? Currently, I am calling ... require("../xmlrpc/lib/xmlrpc.inc");...
by: Manuel | last post by:
Hello I need a xmlrpc lib for c++. I know two: xmlrpc++ and xmlrpc-c. But i don't know that it is best for me. I am developing an application in c++. I read that the xmlrpc-c lib is in C and wrap the functions to use in c++. Well, i think that it is more difficult to use than xmlrpc++ that it is made in c++. The trouble is that the...
by: Frankie | last post by:
It appears that System.Random would provide an acceptable means through which to generate a unique value used to identify multiple/concurrent asynchronous tasks. The usage of the value under consideration here is that it is supplied to the AsyncOperationManager.CreateOperation(userSuppliedState) method... with userSuppliedState being, more...
by: Sean Davis | last post by:
I would like to set up a server that takes XMLRPC requests and processes them asynchronously. The XMLRPC server part is trivial in python. The job processing part is the part that I am having trouble with. I have been looking at how to use threadpool, but I can't see how to get that working. I would like to have the XMLRPC part of things...
by: Daniel Fetchinson | last post by:
On 10/29/08, Zix <saviourms@yahoo.co.inwrote: These pages might be useful, they include example code: http://docs.python.org/library/simplexmlrpcserver.html http://code.activestate.com/recipes/81549/ http://code.activestate.com/recipes/496786/ http://www.google.com/search?q=python+xmlrpc+server+example Cheers,
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.