Ejemplo n.º 1
0
def run(jobs):
	dispatcher = server.dispatcher_setup()
	[dispatcher.putWork((i,jobs[i])) for i in range(len(jobs))]

	while dispatcher.resultQueueSize() < len(jobs):
		time.sleep(1)

	results = []
	[results.append(dispatcher.getResult()) for i in range(len(jobs))]

	#ensure results are returned in the same order they're put into the queue
	return [y[1] for y in sorted(results,key=lambda x: x[0])]
Ejemplo n.º 2
0
			time.sleep(1)

		try:
			(id, job) = dispatcher.getWork()
		except Queue.Empty:
			dispatcher.add_log("%d-client has problem getting item from queue"%(client_id))
			logging.info("%d-client has problem getting item from queue"%(client_id))

		if job == "Poison":
			dispatcher.add_log("%d-client taking poison"%client_id)
			dispatcher.checkout()
			break

		#print "got job:",
		dispatcher.add_log("%d-client has job: %s"%(client_id,str(job)))
		#result = function(job)
		result = siesta.siesta_function("_".join([str(y) for y in job]),job)
		dispatcher.add_log("%d-client with job: %s has result: %s"%(client_id,str(job),str(result)))
		#print result
		try:
			dispatcher.putResult((id,result))
		except Queue.Full:
			dispatcher.add_log("%d-client has problem adding items to the queue"%(client_id))

if __name__ == "__main__":
	dispatcher = server.dispatcher_setup()
	FORMAT="%(asctime)s %(message)s"
	logging.basicConfig(filename="clients.log",level=logging.DEBUG, format=FORMAT)
	logging.info("client check")
	client(dispatcher)
Ejemplo n.º 3
0
def poison():
	dispatcher = server.dispatcher_setup()
	dispatcher.Poison()