Example #1
0
	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)
Example #2
0
	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:
Example #3
0
	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)
Example #4
0
	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: