Fixed process forking. Weird results when using two workers.
10 optparse.make_option("-q", "--quiet", action="store_true", dest="quiet",
11 help="quiet mode", default=False)]
13 def spawn(host, port):
14 return Worker(host, port, Handler, ())
16 class Handler(SocketServer.BaseRequestHandler):
20 data = self.request[0].strip()
21 socket = self.request[1]
22 model_size = int(data[:10])
23 model = pickle.loads(data[10:10+model_size])
24 max_iter = int(data[10+model_size:20+model_size])
25 model.update(max_iter)
27 class Worker(SocketServer.UDPServer):
28 def __init__(self, host, port, handler, options):
29 SocketServer.UDPServer.__init__(self, (host, port), handler)
32 self.handler = handler
33 self.options = options
35 print "worker running at port %s" % self.port
38 if __name__ == "__main__":
39 parser = optparse.OptionParser(usage="usage: %prog [options] port",
40 option_list=option_list)
41 options, args = parser.parse_args()
45 worker = Worker("localhost", port, Handler, options)