2016-07-16 17:50:17 +00:00
#!/usr/bin/env python3
2016-07-18 15:39:55 +00:00
import setuptools , servertools , socketserver , syslog , threading
2016-07-16 17:50:17 +00:00
if __name__ == " __main__ " :
socketserver . TCPServer . allow_reuse_address = True
try :
2016-07-18 15:08:14 +00:00
server = servertools . TCPServer ( ( setuptools . getSetting ( " Server " , " bind " ) , int ( setuptools . getSetting ( " Server " , " port " ) ) ) , servertools . TCPHandler )
2016-07-16 17:50:17 +00:00
except :
2016-07-18 15:08:14 +00:00
servertools . logger ( " Unable to bind on %s : %s . Make sure the port is not in use or use a different port. " % ( setuptools . getSetting ( " Server " , " bind " ) , setuptools . getSetting ( " Server " , " port " ) ) )
servertools . shutdown ( status = 1 )
servertools . logger ( " Kumi Status server running on %s : %s . " % ( setuptools . getSetting ( " Server " , " bind " ) , setuptools . getSetting ( " Server " , " port " ) ) )
2016-07-16 17:50:17 +00:00
try :
thread = threading . Thread ( target = server . serve_forever ( ) , daemon = True )
except KeyboardInterrupt :
2016-07-18 15:08:14 +00:00
servertools . logger ( " Caught KeyboardInterrupt. Shutting down. " )
servertools . shutdown ( )
2016-07-16 17:50:17 +00:00
except EOFError :
2016-07-18 15:08:14 +00:00
servertools . logger ( " Caught EOF. Shutting down. " )
servertools . shutdown ( )
2016-07-16 17:50:17 +00:00
except BaseException as e :
2016-07-18 15:08:14 +00:00
servertools . logger ( str ( e ) , syslog . LOG_CRIT )
servertools . logger ( " Caught some bad exception. Trying to reload... " , syslog . LOG_CRIT )
servertools . shutdown ( reboot = True , status = 2 )
2016-07-16 17:50:17 +00:00