def _do(self,planname): s=None try: so.userlog.debug('check plan '+str(planname)+' existence') if planname in planhandlers.keys(): so.userlog.debug('plan '+str(planname)+' exist') so.userlog.debug('plan '+str(planname)+' start to forcestop') res=planhandlers[planname].forcestop() if res==True: so.userlog.debug('plan '+str(planname)+' forcestop success and ready to write it to db') s=so.Session() so.userlog.debug('open a db session for forcestop plan:'+str(planname)) s.delete(s.query(Plan).filter(Plan.Name==planname).first()) s.commit() s.close() so.userlog.debug('close db session for forcestop plan:'+str(planname)) so.userlog.info('forcestop plan '+str(planname)+ ' success') return planname+": success" else: so.error('forcestop plan '+str(planname)+ ' failed') return planname+": stop failed" else: so.userlog.debug('open a db session for forcestop plan:'+str(planname)) s=so.Session() r=s.query(Plan).filter(Plan.Name==planname).first() if (r!=None): so.userlog.debug('plan '+str(planname)+' in db,start deleting it from db') s.delete(r) s.commit() s.close() so.userlog.info('remove plan '+str(planname)+' direct from db') return planname+": success" else: s.close() so.userlog.debug('close db session for forcestop plan:'+str(planname)) so.error('plan '+str(planname)+' not exist') return planname+":The plan does not exist!" if os.path.exists(os.path.join(cp.exctmpdir,planname)): shutil.rmtree(os.path.join(cp.exctmpdir,planname)) except Exception,e: if s!=None: s.rollback() s.close() so.userlog.error('forcestop plan '+str(planname)+' failed,error occured,'+str(traceback.format_exc())) return planname+":"+"error ocurred , "+str(e)
def get(self,argv): planname=None try: planname=self.get_argument('planname') so.userlog.info('received getting '+str(planname)+' planinfo request') if planname in planhandlers.keys() and planhandlers[planname].status!=so.planstatus[0]: try: plan=planhandlers[planname] plantimeinfo=plan.plantimeinfo if plantimeinfo[2]!=None and plantimeinfo[2]!=0: self.write('planname:'+str(planname)+',plancases:'+str(len(plan.plancases))+',plancreatedtime:'+time.ctime(plantimeinfo[0])+',planstartexcutetime:'+time.ctime(plantimeinfo[1])+',planendexcutetime:'+time.ctime(plantimeinfo[2])) so.userlog.info('planname: get '+str(planname)+' planinfo success') else: self.write('planname:'+str(planname)+',plancases:'+str(len(plan.plancases))+',plancreatedtime:'+time.ctime(plantimeinfo[0])+',planstartexcutetime:'+time.ctime(plantimeinfo[1])+',planendexcutetime:unkown') so.userlog.info('planname: get '+str(planname)+' planinfo success') except Exception,e: self.write(planname+":"+"error ocurred , "+str(e)) so.userlog.error('get '+str(planname)+' planinfo failed,'+str(traceback.format_exc())) else:
def _do(self,planname): so.userlog.info('start stop plan:'+str(planname)) s=None try: if planname in planhandlers.keys(): so.userlog.debug('begin stop the plan:'+str(planname)) res=planhandlers[planname].stop() so.userlog.debug('stop signal has send to the plan:'+str(planname)) if res==True: so.userlog.debug('stop plan'+str(planname)+' success,begin write this to db') s=so.Session() s.delete(s.query(Plan).filter(Plan.Name==planname).first()) s.commit() s.close() so.userlog.info('plan '+str(planname)+' has stopped and removed from db') return str(planname)+": success" else: so.userlog.info('plan '+str(planname)+' stop failed,this plan has started to run') return str(planname)+": this plan has started to run" else: so.userlog.debug('plan '+str(planname)+' not in memory,start check it in db') s=so.Session() so.userlog.debug('open one db session for stop plan '+str(planname)) r=s.query(Plan).filter(Plan.Name==planname).first() if (r!=None): s.delete(r) s.commit() s.close() so.userlog.info('plan '+str(planname)+' stop success,(direct remove from db)') return str(planname)+": success" else: s.close() so.userlog.debug('close db session for stop plan '+str(planname)) so.userlog.info('stop plan '+str(planname)+' success') return str(planname)+":The plan does not exist!" if os.path.exists(os.path.join(cp.exctmpdir,planname)): shutil.rmtree(os.path.join(cp.exctmpdir,planname)) except Exception,e: if s!=None: s.rollback() s.close() so.userlog.error('stop plan '+str(planname)+' failed,error occured,'+str(traceback.format_exc())) return str(planname)+":"+"error ocurred , "+str(e)
def get(self,argv): planname=None try: planname=self.get_argument('planname') so.userlog.info('received planstatus of '+str(planname)+' check request') if planname==None: so.userlog.error('planname is null') self.write('planname is null') return if planname in planhandlers.keys(): try: planstatus=planhandlers[planname].checkstatus() if planstatus!=False: self.write(planstatus[0]+','+str(planstatus[1][0])+','+str(planstatus[1][1])) so.userlog.info('checkplanprogress success,planname:'+str(planname)+',result:'+str(planstatus)) else: self.write('failed') so.userlog.error(planname+":"+"error ocurred during checkplanprogress,see previous log for detailed infomation") except Exception,e: self.write(planname+":"+"error ocurred , "+str(e)) so.userlog.error(planname+":"+"error ocurred , "+str(traceback.format_exc())) else: