Loading roles/host.py +17 −7 Changes for roles/host.py: 17 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -57,15 +57,20 @@ class Host(object): return {'status': 'key error'} else: # request = Request(self.worker_manager, problem.get_dict(), solvers=solvers) if solvers is None: _solvers = self.worker_manager.get_workers() else: merge_solvers = list() # if solvers is None: # _solvers = self.worker_manager.get_workers() # else: _solvers = dict() for k, v in self.worker_manager.get_workers().items(): if k in solvers: if (solvers is None) or (k in solvers): if v.role == 'merge_solver': merge_solvers.append(k) else: _solvers[k] = v for _, v in _solvers.items(): request = Request(self.worker_manager, problem.get_dict(), v) request = Request(self.worker_manager, problem.get_dict(), v, merge_solvers=merge_solvers) request.broadcast() request_id = request.get_id() Loading Loading @@ -110,7 +115,10 @@ class Host(object): merge_problem['request_id'] = solution['request_id'] merge_problem['timeout'] = 10000 for k, v in self.worker_manager.workers.items(): if v.role == 'merge_solver': if ('merge_solvers' in solution) and (len(solution['merge_solvers']) > 0): if k in solution['merge_solvers']: v.post('solve', merge_problem) elif v.role == 'merge_solver': v.post('solve', merge_problem) return {'status': 'done'} Loading Loading @@ -355,7 +363,7 @@ class Worker(object): class Request(object): def __init__(self, worker_manager, data, worker, timeout=10000): def __init__(self, worker_manager, data, worker, timeout=10000, merge_solvers=list()): # self.worker_manager = worker_manager self.data = data Loading @@ -367,6 +375,7 @@ class Request(object): self.done_time = None self.solver = worker self.merge_solvers = merge_solvers self.response = list() Loading @@ -384,6 +393,7 @@ class Request(object): data = self.data data['request_id'] = self.request_id data['timeout'] = self.timeout data['merge_solvers'] = self.merge_solvers return data def get_id(self): Loading roles/solver.py +2 −1 Changes for roles/solver.py: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ class Solver(object): data = { 'request_id': params['request_id'], 'problem': params['name'], 'worker': self.address 'worker': self.address, 'merge_solvers': params['merge_solvers'] } data.update(solution) self.post('problem/solution', data) Loading Loading
roles/host.py +17 −7 Changes for roles/host.py: 17 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -57,15 +57,20 @@ class Host(object): return {'status': 'key error'} else: # request = Request(self.worker_manager, problem.get_dict(), solvers=solvers) if solvers is None: _solvers = self.worker_manager.get_workers() else: merge_solvers = list() # if solvers is None: # _solvers = self.worker_manager.get_workers() # else: _solvers = dict() for k, v in self.worker_manager.get_workers().items(): if k in solvers: if (solvers is None) or (k in solvers): if v.role == 'merge_solver': merge_solvers.append(k) else: _solvers[k] = v for _, v in _solvers.items(): request = Request(self.worker_manager, problem.get_dict(), v) request = Request(self.worker_manager, problem.get_dict(), v, merge_solvers=merge_solvers) request.broadcast() request_id = request.get_id() Loading Loading @@ -110,7 +115,10 @@ class Host(object): merge_problem['request_id'] = solution['request_id'] merge_problem['timeout'] = 10000 for k, v in self.worker_manager.workers.items(): if v.role == 'merge_solver': if ('merge_solvers' in solution) and (len(solution['merge_solvers']) > 0): if k in solution['merge_solvers']: v.post('solve', merge_problem) elif v.role == 'merge_solver': v.post('solve', merge_problem) return {'status': 'done'} Loading Loading @@ -355,7 +363,7 @@ class Worker(object): class Request(object): def __init__(self, worker_manager, data, worker, timeout=10000): def __init__(self, worker_manager, data, worker, timeout=10000, merge_solvers=list()): # self.worker_manager = worker_manager self.data = data Loading @@ -367,6 +375,7 @@ class Request(object): self.done_time = None self.solver = worker self.merge_solvers = merge_solvers self.response = list() Loading @@ -384,6 +393,7 @@ class Request(object): data = self.data data['request_id'] = self.request_id data['timeout'] = self.timeout data['merge_solvers'] = self.merge_solvers return data def get_id(self): Loading
roles/solver.py +2 −1 Changes for roles/solver.py: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ class Solver(object): data = { 'request_id': params['request_id'], 'problem': params['name'], 'worker': self.address 'worker': self.address, 'merge_solvers': params['merge_solvers'] } data.update(solution) self.post('problem/solution', data) Loading