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
Exemple #3
0
	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)
Exemple #5
0
    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
Exemple #6
0
    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
Exemple #7
0
	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)
Exemple #8
0
    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)
Exemple #10
0
	def _resourceMsgListener(self):
		while True:
			reqMsg = self.resourceRouterQ.get()
			print "[Q] QRouter(resourceRouterQ) :", reqMsg
			protocol, statCode = parseProtocol(reqMsg)
Exemple #11
0
	def _jobMsgListener(self):
		while True:
			reqMsg = self.jobRouterQ.get()
			print "[Q] QRouter(jobRouterQ) :", reqMsg
			protocol, statCode = parseProtocol(reqMsg)
Exemple #12
0
	def _deployMsgListener(self):
		while True:
			reqMsg = self.deployRouterQ.get()
			print "[Q] QRouter(deployRouterQ) :", reqMsg
			protocol, statCode = parseProtocol(reqMsg)
Exemple #13
0
	def _clientMsgListener(self):
		while True:
			reqMsg = self.clientRouterQ.get()
			print "[Q] QRouter(clientRouterQ) :", reqMsg
			protocol, statCode = parseProtocol(reqMsg)