From 5d1587f3f3d43ce5f65950944747a74eb6b0be61 Mon Sep 17 00:00:00 2001 From: Sergey Krashevich Date: Thu, 8 Jun 2023 08:50:18 +0300 Subject: [PATCH] Update cleanup.py --- frigate/record/cleanup.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/frigate/record/cleanup.py b/frigate/record/cleanup.py index 855d6462c..14818ec35 100644 --- a/frigate/record/cleanup.py +++ b/frigate/record/cleanup.py @@ -5,14 +5,14 @@ import itertools import logging import os import threading +from multiprocessing.synchronize import Event as MpEvent from pathlib import Path -from peewee import chunked, DoesNotExist, DatabaseError -from multiprocessing.synchronize import Event as MpEvent +from peewee import DatabaseError, DoesNotExist, chunked -from frigate.config import RetainModeEnum, FrigateConfig +from frigate.config import FrigateConfig, RetainModeEnum from frigate.const import RECORD_DIR, SECONDS_IN_DAY -from frigate.models import Event, Recordings, Timeline, RecordingsToDelete +from frigate.models import Event, Recordings, RecordingsToDelete, Timeline from frigate.record.util import remove_empty_directories logger = logging.getLogger(__name__) @@ -239,6 +239,12 @@ class RecordingCleanup(threading.Thread): {"id": recording_id} for recording_id in recordings_to_delete ] + if len(recordings_to_delete) / recordings.count() > 0.5: + logger.debug( + f"Deleting {(len(recordings_to_delete) / recordings.count()):2f}% of recordings looks like as bug. Do nothing" + ) + return + logger.debug( f"Deleting {len(recordings_to_delete)} recordings with missing files" )