- 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:
parent
f5e5b1ed34
commit
daeb7b675e
2 changed files with 27 additions and 24 deletions
|
@ -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'
|
||||
|
|
|
@ -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 = DocXMLRPCServer(Settings.RPCSERVERADDRESS)
|
||||
server.register_introspection_functions()
|
||||
server.register_instance(ServiceFacade())
|
||||
|
||||
try:
|
||||
server.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
except KeyboardInterrupt:
|
||||
server.server_close()
|
||||
|
||||
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()
|
||||
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()
|
||||
|
|
Loading…
Reference in a new issue