Beispiel #1
0
    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)
Beispiel #2
0
    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')
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
 def init(self):
     return Globals.init()