diff --git a/plexpy/activity_pinger.py b/plexpy/activity_pinger.py index 966158c2..a0db6f99 100644 --- a/plexpy/activity_pinger.py +++ b/plexpy/activity_pinger.py @@ -293,8 +293,8 @@ def connect_server(log=True, startup=False): try: web_socket.start_thread() - except: - logger.error(u"Websocket :: Unable to open connection.") + except Exception as e: + logger.error(u"Websocket :: Unable to open connection: %s." % e) def check_server_access(): diff --git a/plexpy/web_socket.py b/plexpy/web_socket.py index aee3a61f..41736d08 100644 --- a/plexpy/web_socket.py +++ b/plexpy/web_socket.py @@ -25,6 +25,7 @@ import plexpy import activity_handler import activity_pinger import activity_processor +import database import logger name = 'websocket' @@ -33,8 +34,14 @@ ws_shutdown = False def start_thread(): - # Check for any existing sessions on start up - activity_pinger.check_active_sessions(ws_request=True) + try: + # Check for any existing sessions on start up + activity_pinger.check_active_sessions(ws_request=True) + except Exception as e: + logger.error(u"Tautulli WebSocket :: Failed to check for active sessions: %s." % e) + logger.warn(u"Tautulli WebSocket :: Attempt to fix by flushing temporary sessions...") + database.delete_sessions() + # Start the websocket listener on it's own thread thread = threading.Thread(target=run) thread.daemon = True