aboutsummaryrefslogtreecommitdiffstats
path: root/aggro.py
diff options
context:
space:
mode:
Diffstat (limited to 'aggro.py')
-rw-r--r--aggro.py24
1 files changed, 21 insertions, 3 deletions
diff --git a/aggro.py b/aggro.py
index 8e4f908..b5c6ce0 100644
--- a/aggro.py
+++ b/aggro.py
@@ -1,9 +1,18 @@
import json
import os
-
+import threading
+import time
from app.AggroConfig import AggroConfig
+from app.MemoryState import memory_state
from app.PluginManager import PluginManager
+
+def run_plugin_thread():
+ print("Plugin thread starting...")
+ manager.run()
+ print("Plugin thread exiting...")
+
+
if __name__ == "__main__":
print("Starting aggro. Press CTRL-C to exit.")
@@ -19,7 +28,16 @@ if __name__ == "__main__":
manager = PluginManager(aggro_config)
manager.build_plugin_instances()
+ memory_state.running = True
+
+ plugin_thread = threading.Thread(target=run_plugin_thread)
+ plugin_thread.start()
+
try:
- manager.run()
+ while memory_state.running:
+ time.sleep(0.1)
except KeyboardInterrupt:
- print("Exiting...")
+ memory_state.running = False
+ print("Waiting for threads to exit...")
+ plugin_thread.join()
+ print("Main thread exiting...")