def checkProgramParameter(self, nMinParams, nMaxParams): eventName = sys.argv[2] if len(sys.argv) < nMinParams: self.error('event name missing') if len(sys.argv) > nMaxParams: self.error('Too many parameters') if not Globals.checkEventDirParameter(eventName): s = 'Invalid parameter - <' + eventName + '>' s += '\n ' s += 'Cannot find directory ' + Globals.EventDir() self.error(s)
def __init__(self): parser = OptionParser(usage="%prog -f Eventpath ") parser.add_option("-f", "--evpath", type="string", dest="evpath", help="evpath") (options, args) = parser.parse_args() self.eventpath = options.evpath Basic.checkExistsDir(self.eventpath, isAbort=True) Globals.setEventDir(self.eventpath) MainObj.__init__(self, self, 'ok', 'cluster_run.log', 'cluster.log')
def initFile(fileName=None, postfix=''): dir = Globals.EventDir() if not os.path.isdir(dir): return None if fileName == None: log1 = os.path.join(dir, baseLogFileName(postfix)) else: log1 = os.path.join(dir, fileName) if not os.path.isfile(log1): fp = open(log1, 'w') fp.close() assert os.path.isfile(log1) elif os.stat(log1).st_size < 10 * 1024 * 1024: return log1 else: os.remove(log1) return log1 lines = Basic.readTextFile(log1) n = len(lines) if n > MAX_LINES: print('resize log file ' + log1 + '...') lines.append('resize log file to the last ' + str(MAX_LINES) + ' lines') newLines = lines[n - MAX_LINES:] Basic.writeTextFile(log1, newLines) return log1
def checkKeys(conf, keyList, optional=False): if type(keyList) is str: list1 = list(keyList) else: list1 = keyList if not optional: Basic.checkExistsKeys(conf, list1, isAbort=True) eventDir = Globals.EventDir() isOk = True for key in list1: val = conf[key] msg = None if key == duration: msg = Basic.checkGreaterZero(val) elif key in [mindist, maxdist]: msg = Basic.checkNotNegative(val) elif key in [keyfilefolder, metaCatalog]: Basic.checkExistsDir(os.path.join(eventDir, val), isAbort=True) elif key in [blacklist, mail, pwd]: continue if msg is not None: isOk = Logfile.error('Key <' + key + '> in config file: ' + msg) if not isOk: Logfile.abort() return True
def start(config): intern = Intern() if sys.argv[1] == 'cluster': intern.checkProgramParameter(3, 4) workDir = [Globals.EventDir(), 'tmp2', 'cluster'] workDir = ['cluster'] cmd = "palantiri_cluster" + ' -f ' + Globals.EventDir() else: return False Basic.changeDirectory(workDir) os.system(cmd) return True
def init(self): return Globals.init()