2 HCE project, Python bindings, Distributed Tasks Manager application. 3 Event objects definitions. 7 @author Oleksii <developers.hce@gmail.com> 8 @link: http://hierarchical-cluster-engine.com/ 9 @copyright: Copyright © 2013-2014 IOIX Ukraine 10 @license: http://hierarchical-cluster-engine.com/license/ 19 from cement.core
import foundation
33 START_APP_LOG_MSG =
"Start dc daemon." 34 STOP_APP_LOG_MSG =
"Stop dc daemon." 35 PID_FILE =
"../../../run/dc-daemon.pid" 36 APP_CONFIG_FILE =
"../ini/dc-daemon.ini" 37 LOG_CONFIG_FILE =
"../ini/dc-daemon_log.ini" 38 LOG_MSG_START_APP =
"dc-daemon start" 39 LOG_MSG_CLOSE_APP =
"Close dc daemon app" 40 ERR_MSG_CLOSE_APP =
"Error close dc daemon app" 41 ERROR_LOAD_LOG_CONFIG_FILE =
"Error loading logging config file. Exiting." 42 ERROR_LOAD_CONFIG =
"Error loading config file. Exciting." 45 class DCD(foundation.CementApp):
62 foundation.CementApp.__init__(self)
71 foundation.CementApp.setup(self)
78 foundation.CementApp.run(self)
94 self.
logger.
error(
"Exception during creation thread-based class!\n" + Utils.getTracebackInfo())
102 self.
logger.
error(
"Exception during run thread-based class!\n" + Utils.getTracebackInfo())
110 self.
logger.
error(
"Exception during stop thread-based class!\n" + Utils.getTracebackInfo())
123 app[1].setName(app[0])
124 self.
logger.debug(
"%s has been created!", app_name)
127 self.
logger.
error(
"Exception has been thrown during %s creation!", app_name)
140 self.
logger.debug(
"%s waiting for stopping!", app[0])
143 self.
logger.
error(
"Exception has been thrown during %s joining!", app[0])
153 app[1].setName(app[0])
155 self.
logger.debug(
"%s has been started!", app[0])
158 self.
logger.
error(
"Exception has been thrown during %s start!", app[0])
166 self.
config = ConfigParser.ConfigParser()
167 self.
config.optionxform = str
168 if self.pargs.config:
169 self.
config.read(self.pargs.config)
171 raise Exception(
"Error load config")
173 except Exception
as err:
174 print ERROR_LOAD_CONFIG + err.message
182 self.
logger.debug(
"Load application's start sequence.")
183 self.
threadObjs = self.
config.get(
"Application",
"instantiateSequence").split(
",")
191 log_conf_file = self.
config.get(
"Application",
"log")
192 logging.config.fileConfig(log_conf_file)
195 self.
logger = logging.getLogger(APP_CONSTS.LOGGER_NAME)
197 except Exception
as err:
198 print ERROR_LOAD_LOG_CONFIG_FILE + err.message
205 if self.
logger is not None:
206 self.
logger.debug(LOG_MSG_CLOSE_APP)
208 foundation.CementApp.close(self)
def close(self, code=None)
def loadLogConfigFile(self)
def startThreadObj(self, app)
def joinThreadObj(self, app)
Class hides routines of bulding connection objects.
def loadStartAppsSequence(self)
def createThreadObj(self, app_name)