diff options
Diffstat (limited to 'aggro.py')
| -rw-r--r-- | aggro.py | 24 |
1 files changed, 21 insertions, 3 deletions
@@ -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...") |
