76 foundation.CementApp.run(self)
78 if self.pargs.config
is not None:
80 drceSyncTasksCoverPickled = sys.stdin.read()
82 if not os.path.isfile(self.pargs.config):
83 raise Exception(
'Config file %s not found' % self.pargs.config)
84 cfgParser = ConfigParser.ConfigParser()
85 cfgParser.read(self.pargs.config)
88 logging.config.fileConfig(cfgParser.get(
"TasksManager",
"log_cfg"))
94 dbTask = TasksManager(cfgParser)
97 if len(drceSyncTasksCoverPickled) == 0
or drceSyncTasksCoverPickled[-1] !=
'\x2E':
98 drceSyncTasksCoverPickled +=
'\x2E' 100 drceSyncTasksCover = pickle.loads(drceSyncTasksCoverPickled)
101 responseDRCESyncTasksCover = dbTask.process(drceSyncTasksCover)
102 sys.stdout.write(pickle.dumps(responseDRCESyncTasksCover))
105 if dbTask.SQLErrorCode != Constants.EXIT_CODE_OK:
106 logger.error(
"Exited with dbTask.SQLErrorCode=" + str(dbTask.SQLErrorCode))
112 logger.info(APP_CONSTS.LOGGER_DELIMITER_LINE)
114 self.errorCode = dbTask.SQLErrorCode
115 raise DatabaseException(dbTask.SQLErrorString)
119 logger.info(APP_CONSTS.LOGGER_DELIMITER_LINE)
120 except MySQLdb.OperationalError
as err:
121 ExceptionLog.handler(logger, err,
"Aborted cause exception! MySQLdb.OperationalError:")
122 exceptionLogging(
"Aborted cause exception! MySQLdb.OperationalError {%s}\n" % str(err))
123 self.errorCode = Constants.EXIT_CODE_GLOBAL_ERROR
124 except MySQLdb.Error
as err:
125 ExceptionLog.handler(logger, err,
"Aborted cause exception! Error %d: %s" % (err.args[0], err.args[1]))
126 exceptionLogging(
"Aborted cause exception! Error %d: %s" % (err.args[0], err.args[1]))
127 self.errorCode = Constants.EXIT_CODE_GLOBAL_ERROR
128 except DatabaseException, err:
129 ExceptionLog.handler(logger, err,
"Aborted cause exception! ")
131 self.errorCode = Constants.EXIT_CODE_MYSQL_ERROR
132 except Exception
as err:
133 ExceptionLog.handler(logger, err,
"Aborted cause exception! ")
135 self.errorCode = Constants.EXIT_CODE_GLOBAL_ERROR
137 ExceptionLog.handler(logger,
None,
"Unknown exception")
139 logger.info(APP_CONSTS.LOGGER_DELIMITER_LINE)
142 self.errorCode = APP_CONSTS.EXIT_FAILURE
145 logger.error(
"Invalid command line arguments. To help - python ./db_task.py -h")
146 sys.stderr.write(
"Invalid command line arguments. To help - python ./db_task.py -h")
149 logger.info(APP_CONSTS.LOGGER_DELIMITER_LINE)
152 self.errorCode = Constants.EXIT_CODE_CONFIG_ERROR
def exceptionLogging(abortStr)