This commit is contained in:
1 parent
5a8a268a92
commit
18e0ff931a
14 files changed
+699
-436
No files matched your search
@@ -3,6 +3,7 @@ import threading
|
||||
|
||||
from colony.core.logger.logging import get_logger
|
||||
from colony.core.network.core import Network
|
||||
from colony.core.control import ControlActions
|
||||
from colony.core.dispatcher import Dispatcher
|
||||
from colony.core.roles.foreman.role import Foreman
|
||||
from colony.core.roles.gossip.role import Gossip, BOOTSTRAPPED
|
||||
@@ -10,6 +11,7 @@ from colony.core.roles.manager import RoleManager
|
||||
from colony.core.state_manager import StateManager
|
||||
from colony.role_registry import RoleRegistry
|
||||
from colony.settings import configuration, setting
|
||||
from colony.transport.control import ControlQueue, ControlSocket
|
||||
from colony.transport.discover import Discover
|
||||
from colony.transport.listener import Listener
|
||||
from colony.utils.network import hosts_in_range
|
||||
@@ -49,7 +51,20 @@ def main():
|
||||
logger.error(f"Cannot listen on {listener.host}:{listener.port}: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
threads = []
|
||||
control = ControlQueue(ControlActions(network))
|
||||
control_socket = ControlSocket(control)
|
||||
try:
|
||||
control_socket.bind()
|
||||
except OSError as e:
|
||||
logger.error(f"Cannot open the control socket {control_socket.path}: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
t = threading.Thread(
|
||||
target=control_socket.start,
|
||||
daemon=True,
|
||||
name="ControlSocket"
|
||||
)
|
||||
t.start()
|
||||
|
||||
t = threading.Thread(
|
||||
target=listener.start,
|
||||
@@ -57,7 +72,6 @@ def main():
|
||||
name="Listener"
|
||||
)
|
||||
t.start()
|
||||
threads.append(t)
|
||||
|
||||
t = threading.Thread(
|
||||
target=Discover.listen,
|
||||
@@ -66,7 +80,6 @@ def main():
|
||||
name="Discover"
|
||||
)
|
||||
t.start()
|
||||
threads.append(t)
|
||||
|
||||
roles = role_manager.get_role_instances()
|
||||
gossip: Gossip = roles["Gossip"]
|
||||
@@ -81,8 +94,7 @@ def main():
|
||||
|
||||
role_manager.start_all()
|
||||
|
||||
for t in threads:
|
||||
t.join()
|
||||
control.run_forever()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in new issue
Block a user