Logging erweitert.
This commit is contained in:
@@ -141,6 +141,21 @@ class StreamScheduler:
|
||||
now_min = _time_to_minutes(now_time)
|
||||
start_min = _time_to_minutes(job["schedule_start"])
|
||||
in_window = now_min >= start_min
|
||||
elif job.get("schedule_stop"):
|
||||
start_min = _time_to_minutes(job["schedule_start"])
|
||||
stop_min = _time_to_minutes(job["schedule_stop"])
|
||||
if stop_min <= start_min and stop_min > 0:
|
||||
now_min = _time_to_minutes(now_time)
|
||||
if now_min < stop_min:
|
||||
yesterday = now - datetime.timedelta(days=1)
|
||||
was_yesterday = False
|
||||
if job["schedule_once"]:
|
||||
was_yesterday = job["schedule_date"] == yesterday.strftime("%Y-%m-%d")
|
||||
else:
|
||||
was_yesterday = _matches_day(yesterday.isoweekday(), job["schedule_days"] or "*")
|
||||
if was_yesterday:
|
||||
is_cross_midnight = True
|
||||
in_window = True
|
||||
|
||||
return {
|
||||
"occ_key": occ_key,
|
||||
@@ -218,7 +233,7 @@ class StreamScheduler:
|
||||
finally:
|
||||
session.close()
|
||||
|
||||
def _get_active_scheduled_recording_for_job(self, job_id: int):
|
||||
def _get_active_scheduled_recording_for_job(self, job_id: int, *, respect_stop: bool = False):
|
||||
session = get_session()
|
||||
try:
|
||||
rec = session.query(Recording).filter(
|
||||
@@ -226,7 +241,11 @@ class StreamScheduler:
|
||||
Recording.status.in_(["running", "starting"]),
|
||||
Recording.is_scheduled == True,
|
||||
).first()
|
||||
return rec.id if rec else None
|
||||
if not rec:
|
||||
return None
|
||||
if respect_stop and rec.scheduled_stop and rec.scheduled_stop > datetime.datetime.utcnow():
|
||||
return None
|
||||
return rec.id
|
||||
finally:
|
||||
session.close()
|
||||
|
||||
@@ -309,7 +328,9 @@ class StreamScheduler:
|
||||
and eff_job["schedule_stop"]
|
||||
and self._is_job_recording(job["id"])
|
||||
):
|
||||
rec_id = self._get_active_scheduled_recording_for_job(job["id"])
|
||||
rec_id = self._get_active_scheduled_recording_for_job(
|
||||
job["id"], respect_stop=True,
|
||||
)
|
||||
if rec_id:
|
||||
self.recorder.stop_recording(rec_id)
|
||||
self._started_keys.discard(occ_key)
|
||||
|
||||
Reference in New Issue
Block a user