def run(HAServer, paraList): source_task = HAServer.getConfig("ScheduleConfig", "schedule_sourceTask", paraList)['data'] if source_task[0] == "RR": HAServer.log(1, "start schedule RR task!!") paras = { 'op' : 'startRR', 'name' : source_task[1], 'controller' : HAServer.getCurrentController(), } ret = HAServer.callGetLocalFunc("RROperation", paras) eventAgent.writeEvent(HAServer, {'op' : 'sch_start', 'ret' : ret, 'name' : paraList['name']}) return ret
def writeEvent(expfile, ret): localHA = None try: name = expfile.split("/")[2].rstrip(".exp") localHA = NASHAComm("127.0.0.1") setHistoryResult({'status' : ret['status'], 'expfile' : expfile}) cfg = localHA.getConfig("RRConfig", "rr_get_task", {'name' : name})['data'] if ret['status'] == 0: eventAgent.writeEvent(localHA, {'op' : 'runRR', 'name' : name, 'ip' : cfg['ip'], 'ret' : ret}) else: if ret['status'] == QUOTA_EXCEED: eventAgent.writeEvent(localHA, {'op' : 'RRquota', 'name' : name, 'ret' : ret}) elif ret['status'] == IN_PROGRESS: eventAgent.writeEvent(localHA, {'op' : 'RRinprogress', 'name' : name, 'ret' : ret}) elif ret['status'] == PERM_DENY: eventAgent.writeEvent(localHA, {'op' : 'RRperm', 'name' : name, 'ret' : ret}) elif ret['status'] == LOCALBLOCKBYSHELL: eventAgent.writeEvent(localHA, {'op' : 'runRR', 'name' : name, 'ip' : cfg['ip'], 'ret' : ret}) elif ret['status'] == IP_ERROR: eventAgent.writeEvent(localHA, {'op' : 'RRip', 'name' : name, 'ip' : cfg['ip'], 'ret' : ret}) elif ret['status'] == PATHERROR: eventAgent.writeEvent(localHA, {'op' : 'RRpath', 'name' : name, 'ret' : ret, 'cfg' : cfg}) else: eventAgent.writeEvent(localHA, {'op' : 'runRR', 'name' : name, 'ip' : cfg['ip'], 'ret' : ret}) except: print traceback.format_exc() pass finally: localHA.closeSocket()