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()