Commit 07b70bb9 authored by Kento HASEGAWA's avatar Kento HASEGAWA

Make it possible to select solvers

parent fdafebe1
......@@ -33,7 +33,7 @@ def set_role(role_name, config_data):
role = Host(config_data)
elif role_name == 'solver':
if not 'partial_mode' in config_data:
config['partial_mode'] = False
config_data['partial_mode'] = False
role = Solver(config_data)
elif role_name == 'merge_solver':
role = MergeSolver(config_data)
......
......@@ -271,6 +271,8 @@ class WorkerManager(object):
_worker.post(_cmd, _params)
for k, v in self.workers.items():
if (not solvers is None) and (not k in solvers):
continue
_th = threading.Thread(name=v.address, target=_sender, args=(v, cmd, params), daemon=True)
_th.start()
threads.append(_th)
......@@ -322,7 +324,10 @@ class Request(object):
self.request_id = time.time()
self.broadcast_time = None
self.solvers = solvers
if solvers is None:
self.solvers = list(self.worker_manager.get_workers().keys())
else:
self.solvers = solvers
self.response = dict()
......@@ -344,10 +349,11 @@ class Request(object):
self.response[worker] = data
def get_status(self):
all_workers = self.worker_manager.get_workers().keys()
# all_workers = self.worker_manager.get_workers().keys()
worker_count = 0
response_count = 0
for v in all_workers:
# for v in all_workers:
for v in self.solvers:
worker_count += 1
if v in self.response:
response_count += 1
......@@ -372,7 +378,8 @@ class Request(object):
progress = min(100, max(progress_problem, progress_time))
worker_status = dict()
for v in all_workers:
# for v in all_workers:
for v in self.solvers:
if v in self.response:
worker_status[v] = self.response[v]['status']
else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment