From f0f13debaebdbcbf2a7ddcf4b8a1a979750133e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ebbe=20Ba=C3=9F?= Date: Sat, 17 Feb 2024 17:19:53 +0100 Subject: [PATCH] thread manager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ebbe Baß --- server/app.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/server/app.py b/server/app.py index 57f54fd..9740c83 100644 --- a/server/app.py +++ b/server/app.py @@ -7,7 +7,10 @@ import os from getmac import get_mac_address import time import sys -from multiprocessing import Process, Value, Array, set_start_method +from multiprocessing import Process, Manager + +thread_manager = Manager() +TUBE_INDEX = thread_manager.Array() app = Flask(__name__) @@ -145,18 +148,19 @@ def mqtt_publisher(): artNet.close() sys.exit() - - -if __name__ == "__main__": - set_start_method("spawn") - flask_thread = Process(target=flask_api) - flask_thread.start() - publisher_thread = Process(target=mqtt_publisher) - publisher_thread.start() +def tube_index_updater(): while True: cur = db.cursor() cur.execute("SELECT mac_address, universe, dmx_address FROM tubes") TUBE_INDEX = cur.fetchall() cur.close() print("Updated tube index: "+str(TUBE_INDEX)) - time.sleep(1) \ No newline at end of file + time.sleep(1) + +if __name__ == "__main__": + tube_index_updater_thread = Process(target=tube_index_updater) + tube_index_updater_thread.start() + flask_thread = Process(target=flask_api) + flask_thread.start() + publisher_thread = Process(target=mqtt_publisher) + publisher_thread.start() \ No newline at end of file