Commit 66c1b321 authored by Kento HASEGAWA's avatar Kento HASEGAWA

Make it possible to re-configure roles

parent 2fb0703d
...@@ -26,6 +26,9 @@ def load_config(path): ...@@ -26,6 +26,9 @@ def load_config(path):
def set_role(role_name, config_data): def set_role(role_name, config_data):
global role global role
if role is not None:
del role
if role_name == 'host': if role_name == 'host':
role = Host(config_data) role = Host(config_data)
elif role_name == 'solver': elif role_name == 'solver':
...@@ -34,14 +37,17 @@ def set_role(role_name, config_data): ...@@ -34,14 +37,17 @@ def set_role(role_name, config_data):
def call_api(method, cmd, params): def call_api(method, cmd, params):
print(f'I: API Received: {cmd}') print(f'I: API Received: {cmd}')
if role is not None:
return role.call_api(method, cmd, params)
else:
if cmd == 'role': if cmd == 'role':
if method == 'POST': if method == 'POST':
set_role(params['role'], params) set_role(params['role'], params)
return {'role': role.type} return {'role': role.type}
else: else:
if role is None:
return {'role': 'Undefined'} return {'role': 'Undefined'}
else:
return {'role': self.type}
else:
if role is not None:
return role.call_api(method, cmd, params)
else: else:
return None return None
...@@ -17,6 +17,9 @@ class Solver(object): ...@@ -17,6 +17,9 @@ class Solver(object):
self.solver = importlib.import_module(f"solvers.{config['solver']}") self.solver = importlib.import_module(f"solvers.{config['solver']}")
self.thread = None self.thread = None
def __del__(self):
self.stop_solver()
def __repr__(self): def __repr__(self):
return "Solver" return "Solver"
......
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