intervall of about 1 second for xmlrpc calls?

Thomas Lehmann t.lehmann at rtsgroup.net
Thu May 20 05:49:06 EDT 2010


Hi,

I'm wondering about the behavior. Running this example - it looks like
- that each rpc call is triggered in a visible interval (about one
second).

What's wrong?

Thomas

APPENDIX:

<code>
import threading
from xmlrpc.server import SimpleXMLRPCServer
import xmlrpc.client

class MyServer(threading.Thread):
    def __init__(self, host, port):
        threading.Thread.__init__(self)
        self.server = SimpleXMLRPCServer((host, port))
        self.server.register_function(self.is_even, "is_even")
        self.server.register_function(self.stop, "stop_server")

    def run(self):
        print("server: waiting for requests...")
        self.server.serve_forever()
        print("server: is down.")

    def stop(self):
        print("server: shutdown requested...")
        self.stoptimer = threading.Timer(1, self.server.shutdown)
        self.stoptimer.start()
        return "done."

    def is_even(self, n):
        print("server: check %d to be even" % (n))
        return n%2 == 0


# server as thread
server = MyServer("localhost", 1234)
server.start()

# client code
serverProxy = xmlrpc.client.ServerProxy("http://localhost:1234")
for n in range(1,2+1):
    print("%d is %s" % (n, ["odd", "even"][serverProxy.is_even(n)]))
serverProxy.stop_server()
</code>



More information about the Python-list mailing list