def _runConnectionGateway(self): while True: try: reqMsg = self._networkQ.get() print "[Q] WorkerNetworkManager(CLUSTER) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'MW_NET_GET_WID': tempId = reqMsg['tempId'] self._routerQ.put_nowait(genGetSysWidMsg(tempId)) # self._networkObj.sendMsg(genSetWid(tempId, self._workerId)) elif protocol == 'WM_NET_SET_WID': self._networkObj.sendMsg(reqMsg) if not self._networkObj.hasWorkerId(): self._networkObj.setWorkerId(self._workerId) elif protocol == 'SYS_CONN_CLOSE': self._logger.error("# server connection closed.") self._connectMasterServer() elif protocol == 'MW_NET_STAT_HB': self._networkObj.sendMsg(genResHeartBeat(self._workerId)) elif protocol == 'MW_RS_GET_RESOURCE': workerId = reqMsg['workerId'] self._routerQ.put_nowait(genGetWorkerResource(workerId)) elif protocol == 'WM_RS_SET_RESOURCE': self._networkObj.sendMsg(reqMsg) # resource = self.getCurrentResource() # self._networkObj.sendMsg(genHBCheckOkMsg(workerId, resource)) except EOFError, e: pass
def doProcess(self): try: connGatewayQHandler = Thread(target=self._runConnectionGateway, args=()) connGatewayQHandler.setDaemon(1) connGatewayQHandler.start() self._connectMasterServer() while True: reqMsg = self._reqQ.get() print "[Q] WorkerNetworkManager(SYS) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_GET_WID': tempId = reqMsg['tempId'] self._workerId = reqMsg['workerId'] self._networkQ.put_nowait( genSetWid(reqMsg['tempId'], reqMsg['workerId'])) elif protocol == 'SYS_RES_RESOURCE': self._networkQ.put_nowait( genSetWorkerResource(reqMsg['workerId'], reqMsg['result'])) except KeyboardInterrupt, e: pass
def _resourceMsgListener(self): while True: reqMsg = self.resourceRouterQ.get() print "[Q] QRouter(resourceRouterQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_RES_RESOURCE': self.networkRouterQ.put_nowait(reqMsg)
def _runSystemRequestHandler(self): while True: reqMsg = self._reqQ.get() print "[Q] MasterNetworkManager(SYS) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_CONN_CLOSE': workerId = reqMsg['workerId'] self._routerQ.put_nowait(genDelWorkerResource(workerId)) self._closeProvider(workerId=workerId)
def doProcess(self): try: self._loadJobs() while True: reqMsg = self._routerQ.get() print "[Q] JobManager(SYS) :", reqMsg protocol, statCode = parseProtocol(reqMsg) except KeyboardInterrupt, e: pass
def doProcess(self): try: while True: reqMsg = self._reqQ.get() print "[Q] ResourceProvider :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_REQ_RESOURCE': self._routerQ.put_nowait( genResWorkerResource(reqMsg['workerId'], self.getCurrentResource())) except KeyboardInterrupt, e: pass
def _networkMsgListener(self): while True: reqMsg = self.networkRouterQ.get() print "[Q] QRouter(networkReqQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_GET_WID': tempId = reqMsg['tempId'] self.networkReqQ.put_nowait(genGetSysWidMsg(tempId, self._workerId)) if protocol == 'SYS_REQ_RESOURCE': self.resourceReqQ.put_nowait(reqMsg) elif protocol == 'SYS_RES_RESOURCE': self.networkReqQ.put_nowait(reqMsg)
def doProcess(self): try: while True: reqMsg = self._routerQ.get() print "[Q] ResourceMaster :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'SYS_SET_RESOURCE': self.initResource(reqMsg['workerId'], reqMsg['resource']) elif protocol == 'SYS_DEL_RESOURCE': self.delResource(reqMsg['workerId']) print '[RESOURCE] resource size : %d' % (len(self._resources)) except KeyboardInterrupt, e: pass
def _runClusterRequestHandler(self): while True: print "-" * 100 print self._tempProviders print "-" * 100 print self._providers print "-" * 100 try: reqMsg = self._networkQ.get() print "[Q] MasterNetworkManager(CLUSTER) :", reqMsg protocol, statCode = parseProtocol(reqMsg) if protocol == 'MW_NET_GET_WID': self._sendMsg(**reqMsg) elif protocol == 'WM_NET_SET_WID': if statCode == 200: tempId = reqMsg['result']['tempId'] workerId = reqMsg['result']['workerId'] try: if self._providers.has_key(workerId): self._logger.warn("# conflict worker id : %s" % workerId) self._closeProvider(workerId=workerId, tempId=tempId) # self._reqQ.put_nowait(genConnectionLost(workerId)) else: networkObj = self._tempProviders[tempId] networkObj.setWorkerId(workerId) self._providers[workerId] = networkObj self._delProvider(tempId=tempId) HealthChecker(self._logger, self._reqQ, workerId, networkObj).start() self._networkQ.put_nowait( genGetWorkerResources(workerId)) except EOFError, e: self._logger.error("EOFError") self._closeProvider(tempId=tempId, workerId=workerId) except Exception, e: self._logger.exception(e) self._closeProvider(tempId=tempId, workerId=workerId)
def _resourceMsgListener(self): while True: reqMsg = self.resourceRouterQ.get() print "[Q] QRouter(resourceRouterQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg)
def _jobMsgListener(self): while True: reqMsg = self.jobRouterQ.get() print "[Q] QRouter(jobRouterQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg)
def _deployMsgListener(self): while True: reqMsg = self.deployRouterQ.get() print "[Q] QRouter(deployRouterQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg)
def _clientMsgListener(self): while True: reqMsg = self.clientRouterQ.get() print "[Q] QRouter(clientRouterQ) :", reqMsg protocol, statCode = parseProtocol(reqMsg)