def stop(self): MasterManager.bigGranularityLock.acquire() for master in MasterManager.masterqueue: log.info('start to kill masters') process.stop_process(master.get_port()) MasterManager.masterqueue = deque() MasterManager.bigGranularityLock.release()
def stop(self): WorkerManager.bigGranularityLock.acquire() for worker in WorkerManager.workerqueue: log.info('start to kill workers') process.stop_process(worker.get_port()) WorkerManager.workerqueue = deque() WorkerManager.workerqueue = deque() WorkerManager.bigGranularityLock.release()
def stop_s3transfer(isUserCommand=True): try: s = xmlrpclib.ServerProxy('http://127.0.0.1:'+str(port.ManagerPort.JobManager)) s.get_status() stringForPrint = s.stop() if stringForPrint: print stringForPrint.strip('\n') log.info('start to kill jobmanager') process.stop_process(port.ManagerPort.JobManager) except Exception,e: pass
def deletetask(self, taskID): try: WorkerManager.bigGranularityLock.acquire() log.info('start to delete task:' + taskID) for worker in WorkerManager.workerqueue: if worker.get_task() and taskID == worker.get_task()['ID']: process.stop_process(worker.get_port()) worker.get_task().set_isDeleted(True) break log.info('deleted task:' + taskID) return True except Exception, e: log.info(e) return False
def deletejob(self, jobID): MasterManager.bigGranularityLock.acquire() log.info('start to delete job:' + jobID) for master in MasterManager.masterqueue: job = master.get_job() if job and jobID == job['job-ID']: if delete_job_from_master(master.get_port(), jobID) == True: process.stop_process(master.get_port()) if start_master_with_port(master.get_port()): master.set_status(status.MASTER.ready) else: MasterManager.masterqueue.remove(master) break log.info('deleted job:' + jobID) MasterManager.bigGranularityLock.release() return True
def send_message(self, messageAttr): try: MasterManager.bigGranularityLock.acquire() message = Message().with_attribute(messageAttr) port = message.get_port() log.info('receive message from master:' + str(port) + ', ' + 'job:' + str(message.get_ID()) + '') log.info(messageAttr) isFindFlag = 0 for master in MasterManager.masterqueue: if str(master.get_port()) == str(port) and message.get_ID( ) == master.get_job()['job-ID']: isFindFlag = 1 if message.get_isSuccess() == False: process.stop_process(master.get_port()) MasterManager.masterqueue.remove(master) else: master.set_status(status.MASTER.ready) master.set_job(None) break if isFindFlag == 0: log.info('we didn\'t have any record of ' + message.get_ID()) except Exception, e: log.info(e)
def stop_s3transfer(isUserCommand=True): try: s = xmlrpclib.ServerProxy('http://127.0.0.1:'+str(port.ManagerPort.JobManager)) s.get_status() stringForPrint = s.stop() if stringForPrint: print stringForPrint.strip('\n') log.info('start to kill jobmanager') process.stop_process(port.ManagerPort.JobManager) except Exception,e: pass try: s = xmlrpclib.ServerProxy('http://127.0.0.1:'+str(port.ManagerPort.MasterManager)) s.stop() log.info('start to kill mastermanager') process.stop_process(port.ManagerPort.MasterManager) except Exception, e: pass try: s = xmlrpclib.ServerProxy('http://127.0.0.1:'+str(port.ManagerPort.WorkerManager)) s.stop() log.info('start to kill workermanager') process.stop_process(port.ManagerPort.WorkerManager) except Exception, e: pass if isUserCommand == True: print 's3transfer is closed' def restart_s3transfer(): stop_s3transfer()