Thanks a bunch. Qill give it a shot. --p
On Oct 14, 8:18 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar> wrote: > En Wed, 14 Oct 2009 22:08:09 -0300,prasanna<prasa...@ix.netcom.com> > escribió: > > > Out of curiosity--one more thing I haven't yet figured out, is there a > > xmlrpc command I can send that stops or restarts the server? > > If you're using Python 2.6, the easiest way is to register its shutdown() > method. Note that it *must* be called from a separate thread (just inherit > from ForkingMixIn) > > On earlier versions, overwrite the serve_forever loop (so it reads `while > not self._quit: ...`) and add a shutdown() method that sets self._quit to > True. You'll need to call shutdown twice in that case. > > === begin xmlrpcshutdown.py === > import sys > > def server(): > from SocketServer import ThreadingMixIn > from SimpleXMLRPCServer import SimpleXMLRPCServer > > # ThreadingMixIn must be included when publishing > # the shutdown method > class MyXMLRPCServer(ThreadingMixIn, SimpleXMLRPCServer): > pass > > print 'Running XML-RPC server on port 8000' > server = MyXMLRPCServer(("localhost", 8000), > logRequests=False, allow_none=True) > # allow_none=True because of shutdown > server.register_function(lambda x,y: x+y, 'add') > server.register_function(server.shutdown) > server.serve_forever() > > def client(): > from xmlrpclib import ServerProxy > > print 'Connecting to XML-RPC server on port 8000' > server = ServerProxy("http://localhost:8000") > print "2+3=", server.add(2, 3) > print "asking server to shut down" > server.shutdown() > > if sys.argv[1]=="server": server() > elif sys.argv[1]=="client": client() > === end xmlrpcshutdown.py === > > C:\TEMP>start python xmlrpcshutdown.py server > > C:\TEMP>python xmlrpcshutdown.py client > Connecting to XML-RPC server on port 8000 > 2+3= 5 > asking server to shut down > > C:\TEMP> > > -- > Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list