1
0
Fork 0

- 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
This commit is contained in:
Jan Dittberner 2006-04-17 20:56:59 +00:00
parent f5e5b1ed34
commit daeb7b675e
2 changed files with 27 additions and 24 deletions

View File

@ -13,6 +13,8 @@ DBSETTINGS = { 'dbhost' : 'localhost',
# courier:jevhi3Wriav
# gnuviech:SIKKnsyXsV5yU
RPCSERVERADDRESS = ('localhost', 8080)
MAIL_SENDER = 'root@gnuviech.info'
MAIL_RECEIVER = 'root@gnuviech.info'
POPGROUP = 'poponly'

View File

@ -1,29 +1,30 @@
#!/usr/bin/python
#
# XML-RPC server for gnuviech-admin tool
# (c) 2006 Jan Dittberner
# $Id$
#
"""
XML-RPC server for gnuviech-admin tool
(c) 2006 Jan Dittberner
$Id$
"""
from DocXMLRPCServer import DocXMLRPCServer
from GnuviechAdmin import ServiceFacade
import logging
from GnuviechAdmin import ServiceFacade, Settings
import logging, threading
def startRPCServer():
address = ('localhost', 8080)
server = DocXMLRPCServer(address)
server.register_introspection_functions()
server.register_instance(ServiceFacade())
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)
try:
server.serve_forever()
except KeyboardInterrupt:
server.server_close()
server = DocXMLRPCServer(Settings.RPCSERVERADDRESS)
server.register_introspection_functions()
server.register_instance(ServiceFacade())
if __name__ == "__main__":
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)
startRPCServer()
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()