1
0
Fork 0
gnuviechadmin-historic/backend/xmlrpcserver.py
Jan Dittberner daeb7b675e - introduce setting for RPC server address
- restructure RPC server code
- stop timer threads when shutting down server


git-svn-id: file:///home/www/usr01/svn/gnuviechadmin/gnuviech.info/gnuviechadmin/trunk@187 a67ec6bc-e5d5-0310-a910-815c51eb3124
2006-04-17 20:56:59 +00:00

30 lines
853 B
Python
Executable file

#!/usr/bin/python
"""
XML-RPC server for gnuviech-admin tool
(c) 2006 Jan Dittberner
$Id$
"""
from DocXMLRPCServer import DocXMLRPCServer
from GnuviechAdmin import ServiceFacade, Settings
import logging, threading
logger = logging.getLogger()
hdlr = logging.FileHandler('xmlrpcserver.log')
f = logging.Formatter('%(asctime)s %(levelname)s %(module)s: %(message)s')
hdlr.setFormatter(f)
logger.addHandler(hdlr)
logger.setLevel(logging.DEBUG)
server = DocXMLRPCServer(Settings.RPCSERVERADDRESS)
server.register_introspection_functions()
server.register_instance(ServiceFacade())
try:
server.serve_forever()
except KeyboardInterrupt:
server.server_close()
for thread in [t for t in threading.enumerate() if t.isAlive() \
and isinstance(t, threading._Timer)]:
logger.debug("Stopping timer thread %s" % thread.getName())
thread.cancel()