Added worker result feedback.
12 optparse.make_option("-q", "--quiet", action="store_true", dest="quiet",
13 help="quiet mode", default=False)]
15 class Handler(SocketServer.BaseRequestHandler):
19 data = self.request[0]
20 socket = self.request[1]
21 print "%s wrote:" % self.client_address[0]
24 for key, value in com.commands.iteritems():
27 args = data.partition(key)[2].split()
29 value[0](socket, self.client_address, self.worker, args)
31 value[0](socket, self.client_address, self.worker)
33 cell = pickle.loads(data)
34 self.cells[cell[0]] = cell[1]
35 #print hashlib.sha256(str(self.cells)).hexdigest()
38 class Server(SocketServer.UDPServer):
39 def __init__(self, host, port, handler, options, worker):
40 SocketServer.UDPServer.__init__(self, (host, port), handler)
43 self.handler = handler
44 self.options = options
45 self.handler.worker = worker
46 self.handler.cells = {}
50 def spawnWorker(server, n):
54 print "starting worker %i" % (port + i)
55 #worker.spawn(server[0], port + i)
56 subprocess.Popen("python worker.py %i" % (port + i), shell=True)
57 worker_list.append((server[0], port + i))
60 if __name__ == "__main__":
61 parser = optparse.OptionParser(usage="usage: %prog [options] port worker",
62 option_list=option_list)
63 options, args = parser.parse_args()
68 worker_count = int(args[1])
69 worker = spawnWorker((host, port), worker_count)
70 server = Server(host, port, Handler, options, worker)