From 7bf04754fae100d8fb37283ed79084394c290039 Mon Sep 17 00:00:00 2001 From: brees Date: Mon, 30 Oct 2023 01:10:24 -0400 Subject: [PATCH] updates to web sockets --- data/interfaces/default/scheduler_table.html | 4 ++-- plexpy/web_socket.py | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/data/interfaces/default/scheduler_table.html b/data/interfaces/default/scheduler_table.html index 8d264aa9..92bd8d29 100644 --- a/data/interfaces/default/scheduler_table.html +++ b/data/interfaces/default/scheduler_table.html @@ -12,7 +12,7 @@ DOCUMENTATION :: END <%! import datetime import plexpy - from plexpy import common, helpers + from plexpy import common, helpers, web_socket scheduled_jobs = [j.id for j in plexpy.SCHED.get_jobs()] %> @@ -41,7 +41,7 @@ DOCUMENTATION :: END ${helpers.format_timedelta_Hms(sched_job.next_run_time - now)} ${sched_job.next_run_time.astimezone(plexpy.SYS_TIMEZONE).strftime('%Y-%m-%d %H:%M:%S')} - % elif job_type == 'websocket' and plexpy.WS_CONNECTED: + % elif job_type == 'websocket' and web_socket.isServerUp(): % if job == 'Check for active sessions': ${job} diff --git a/plexpy/web_socket.py b/plexpy/web_socket.py index 48d94280..1575219b 100644 --- a/plexpy/web_socket.py +++ b/plexpy/web_socket.py @@ -53,10 +53,14 @@ opcode_data = (websocket.ABNF.OPCODE_TEXT, websocket.ABNF.OPCODE_BINARY) ws_shutdown = False pong_timer = None pong_count = 0 +ws_list = [] def isServerUp(): - return True + for ws in ws_list: + if ws.WS_CONNECTED: + return True + return False def start_threads(): try: @@ -71,7 +75,7 @@ def start_threads(): owned_servers = server_manager.ServerManger().get_server_list() - + global ws_list # Start each websocket listener on it's own thread per server for owned_server in owned_servers: for server in plex_servers: @@ -79,6 +83,7 @@ def start_threads(): for connection in server['connections']: if connection['local']: wss=WebSocketServer(connection, owned_server.server_id) + ws_list.append(wss) thread = threading.Thread(target=wss.run) thread.daemon = True thread.start()