From 7130d93616097619b67d01a991ea706a1efff4e9 Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Fri, 27 Jan 2023 07:32:55 -0600 Subject: [PATCH] warn if unable to keep up with moving segments (#5264) --- frigate/record.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/frigate/record.py b/frigate/record.py index f83f6cd03..d7e8e9fdf 100644 --- a/frigate/record.py +++ b/frigate/record.py @@ -100,19 +100,15 @@ class RecordingMaintainer(threading.Thread): for camera in grouped_recordings.keys(): segment_count = len(grouped_recordings[camera]) if segment_count > keep_count: - #### - # Need to find a way to tell if these are aging out based on retention settings or if the system is overloaded. - #### - # logger.warning( - # f"Too many recording segments in cache for {camera}. Keeping the {keep_count} most recent segments out of {segment_count}, discarding the rest..." - # ) + retain_mode = self.config.cameras[camera].record.retain.mode + # this is only true when retain_mode is all. with other modes, segments are expected to age out. + if retain_mode == RetainModeEnum.all: + logger.warning( + f"Unable to keep up with recording segments in cache for {camera}. Keeping the {keep_count} most recent segments out of {segment_count} and discarding the rest..." + ) to_remove = grouped_recordings[camera][:-keep_count] for f in to_remove: cache_path = f["cache_path"] - #### - # Need to find a way to tell if these are aging out based on retention settings or if the system is overloaded. - #### - # logger.warning(f"Discarding a recording segment: {cache_path}") Path(cache_path).unlink(missing_ok=True) self.end_time_cache.pop(cache_path, None) grouped_recordings[camera] = grouped_recordings[camera][-keep_count:]