Fix time limit on paused stream monitoring
The only way that this could ever be hit is if the stream is still active on the server, but the state is NOT one of paused, playing, or buffering. In case Plex decides to change the states in the future having this working properly is a good idea ;)
This commit is contained in:
parent
4f3e35ef97
commit
ad682f3d1b
@ -242,11 +242,12 @@ def terminate_long_pause(session_id, message, limit, interval, notify=None):
|
|||||||
stream.
|
stream.
|
||||||
"""
|
"""
|
||||||
start = datetime.now()
|
start = datetime.now()
|
||||||
fudge_factor = 100 # Keep checking this long after the defined limit
|
checked_time = 0
|
||||||
paused_time = 0
|
# Continue checking 2 intervals past the allowed limit in order to
|
||||||
check_limit = limit + interval + fudge_factor
|
# account for system variances.
|
||||||
|
check_limit = limit + (interval * 2)
|
||||||
|
|
||||||
while paused_time < check_limit:
|
while checked_time < check_limit:
|
||||||
sessions = get_activity()
|
sessions = get_activity()
|
||||||
found_session = False
|
found_session = False
|
||||||
|
|
||||||
@ -254,12 +255,11 @@ def terminate_long_pause(session_id, message, limit, interval, notify=None):
|
|||||||
if session['session_id'] == session_id:
|
if session['session_id'] == session_id:
|
||||||
found_session = True
|
found_session = True
|
||||||
state = session['state']
|
state = session['state']
|
||||||
|
now = datetime.now()
|
||||||
|
checked_time = (now - start).total_seconds()
|
||||||
|
|
||||||
if state == 'paused':
|
if state == 'paused':
|
||||||
now = datetime.now()
|
if checked_time >= limit:
|
||||||
diff = now - start
|
|
||||||
|
|
||||||
if diff.total_seconds() >= limit:
|
|
||||||
terminate_session(session_id, message, notify)
|
terminate_session(session_id, message, notify)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user