def shutdown( self ): #Exit le serveur proprement apres avoir stoppe le reste ret = "Shutting down" self.clientsocket.send(str(len(ret))) if (len(self.clientsocket.recv(8))): self.clientsocket.send(ret) self.stopAll() print ret exiting() return ""
def __init__( self, conf ): self.initSignals() self.conf = conf try: self.checkConf(self.conf) except NameError as e: print e.message exiting() self.initConn() self.initLogFile(self.conf)
def makeLoop( self ): try: while (42): if not 'programs' in self.conf: raise NameError("No 'programs' in configuration") self.serverListen() self.managePrograms() except KeyboardInterrupt: exiting()
def getConfig( args, errorConfig=True ): conf = {} configurationFiles = [] if args.configuration_file: for _file in args.configuration_file: try: openConf = yaml.load(open(_file, 'r')) except IOError: print "Error opening configuration files while reloading\n" exiting() except: print "Error parsing configuration files (indentation)\n" exiting() configurationFiles.append(os.path.abspath(_file)) for (key, value) in openConf.items(): if not key in conf: conf[key] = value else: conf[key].update(value) else: try: _file = open(CONF_FILE, 'r') configurationFiles.append(os.path.abspath(CONF_FILE)) conf = yaml.load(_file) except IOError: if errorConfig: print Scolors.RED + "Taskmaster can't find any configuration file" + Scolors.ENDC exiting() except: print "Error parsing configuration files (indentation)\n" exiting() conf["originalWD"] = os.getcwd() conf["args"] = args conf["configurationFiles"] = configurationFiles return conf
def getConfig(args, errorConfig=True): conf = {} configurationFiles = [] if args.configuration_file: for _file in args.configuration_file: try: openConf = yaml.load(open(_file, 'r')) except IOError: print "Error opening configuration files while reloading\n" exiting() except: print "Error parsing configuration files (indentation)\n" exiting() configurationFiles.append(os.path.abspath(_file)) for (key, value) in openConf.items(): if not key in conf: conf[key] = value else: conf[key].update(value) else: try: _file = open(CONF_FILE, 'r') configurationFiles.append(os.path.abspath(CONF_FILE)) conf = yaml.load(_file) except IOError: if errorConfig: print Scolors.RED + "Taskmaster can't find any configuration file" + Scolors.ENDC exiting() except: print "Error parsing configuration files (indentation)\n" exiting() conf["originalWD"] = os.getcwd() conf["args"] = args conf["configurationFiles"] = configurationFiles return conf
def main(): # daemon = MyDaemon('../server/') try: prompt = Scolors.BLUE + "TaskY~> " + Scolors.ENDC instruction = raw_input(prompt) while (42): if (check_instruction(instruction)): print instruction + ": " + Scolors.RED + "invalid command" + Scolors.ENDC instruction = raw_input(prompt) except KeyboardInterrupt: exiting() except: print "Socket Timeout" exiting()
def init_conn(clientsocket): try: # clientsocket.connect(('localhost', 8965)) clientsocket.settimeout(3) # if not os.path.isfile(UNIX_SOCKET_PATH): # raise socket_error("djsa") clientsocket.connect(UNIX_SOCKET_PATH) # clientsocket.connect("/tmp/conn") except socket_error as serr: # if serr.errno != errno.ECONNREFUSED: # Not the error we are looking for, re-raise # raise serr print Scolors.RED + "Can't connect to server." + Scolors.ENDC exiting() return clientsocket
def main(): # daemon = MyDaemon('../server/') try: prompt = Scolors.BLUE + "TaskY~> " + Scolors.ENDC instruction = raw_input(prompt) while (42): if (check_instruction(instruction)): print instruction + ": " + Scolors.RED + "invalid command" + Scolors.ENDC instruction = raw_input(prompt) except KeyboardInterrupt: exiting() except : print "Socket Timeout" exiting()
def reloadConfig( self, signum, frame ): verbose = "Reloading configuration:\n" newConf = {} if 'configurationFiles' not in self.conf: raise NameError("Config error no file(s) for configuration") for _file in self.conf['configurationFiles']: try: openConf = yaml.load(open(_file, 'r')) verbose += "\treloading " + _file + '\n' except IOError: if errorConfig: self.printToLogfile("Error opening configuration files while reloading\n") exiting() except: self.printToLogfile("Error opening configuration files while reloading\n") print "Error parsing configuration files (indentation)\n" exiting() for (key, value) in openConf.items(): if not key in newConf: newConf[key] = value else: newConf[key].update(value) newConf['configurationFiles'] = self.conf['configurationFiles'] newConf['originalWD'] = self.conf['originalWD'] newConf['args'] = self.conf['args'] self.reloadLogFile(newConf) try: self.checkConf(newConf) except NameError as e: print e.message exiting() self.reloadProcess(newConf) self.conf = newConf self.printToLogfile(verbose) if self.conf["args"].verbose: print verbose return verbose