Exemple #1
0
class Client:

	def __init__(self,
				serverAddressList,
				clientManager):
		self._serverAddressList = serverAddressList
		self._gearmanClient = gearman.GearmanClient(self._serverAddressList)
		self._clientManager = clientManager

		self._parsingRequestQueue = ParsingRequestQueue()

	def getStatus(self,
					requestSequenceNumber="all"):
		return self._parsingRequestQueue.getRequestStatus(requestSequenceNumber)

	def submitRequest(self,
					parsingRequest):
		parsingRequest.setStatus(ParsingRequest.CONST_STATUS_SUBMITING)
		self._parsingRequestQueue.add(parsingRequest)

		input = encode(parsingRequest)

		submittedRequest = self._gearmanClient.submit_job("parsing",
															input,
															background=False,
															wait_until_complete=False)
		parsingRequest.setStatus(ParsingRequest.CONST_STATUS_PROCESSING)

		#completed_request = self._gearmanClient.([submitted_request,])

		parsingRequest.setStatus(ParsingRequest.CONST_STATUS_FINISH)
		output = decode(completed_request.result)

	def run(self):
		pass
Exemple #2
0
	def __init__(self,
				serverAddressList,
				clientManager):
		self._serverAddressList = serverAddressList
		self._gearmanClient = gearman.GearmanClient(self._serverAddressList)
		self._clientManager = clientManager

		self._parsingRequestQueue = ParsingRequestQueue()
class ClientManager:

	#Attributes
	JOB_SERVER_ADDRESS_LIST = ["127.0.0.1:4730",]

	#Main methods
	def __init__(self):
		
		self._userInterface = None
		self._runMode = constants.RUN_MODE_DAEMON
		self._parsingRequestQueue = ParsingRequestQueue()
		
	def start(self,
				runMode=constants.RUN_MODE_DAEMON):

		self._runMode = runMode

		if (self._runMode==constants.RUN_MODE_DAEMON):
			pass
		else:
			self._userInterface = UserInterface(self)
			self._userInterface.start()

	def stop(self):

		print("clientManager stopping...")
		exit(0)

	#Sub - methods
	def submitParsingRequest(self,
							parsingRequest):

		gearmanClient = Client(ClientManager.JOB_SERVER_ADDRESS_LIST,
								parsingRequest)
		gearmanClient.run()
		gearmanClient = None
		

	def readStatus(self,
					requestSequenceNumber="all"):

		return self._parsingRequestQueue.getStatus(requestSequenceNumber)
	def __init__(self):
		
		self._userInterface = None
		self._runMode = constants.RUN_MODE_DAEMON
		self._parsingRequestQueue = ParsingRequestQueue()