mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-08-02 09:02:15 +03:00
db improvements (#7227)
* Store camera labels in dict and other optimizations * Add max on timeout so it is at least 60 * Ensure db timeout is at least 60 * Update list once a day to ensure new labels are cleaned up * Formatting * Insert recordings as bulk instead of individually. * Fix * Refactor event and timeline cleanup * Remove unused
This commit is contained in:
@@ -12,7 +12,7 @@ from peewee import DatabaseError, chunked
|
||||
|
||||
from frigate.config import FrigateConfig, RetainModeEnum
|
||||
from frigate.const import RECORD_DIR
|
||||
from frigate.models import Event, Recordings, RecordingsToDelete, Timeline
|
||||
from frigate.models import Event, Recordings, RecordingsToDelete
|
||||
from frigate.record.util import remove_empty_directories
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -140,15 +140,6 @@ class RecordingCleanup(threading.Thread):
|
||||
Path(recording.path).unlink(missing_ok=True)
|
||||
deleted_recordings.add(recording.id)
|
||||
|
||||
# delete timeline entries relevant to this recording segment
|
||||
Timeline.delete().where(
|
||||
Timeline.timestamp.between(
|
||||
recording.start_time, recording.end_time
|
||||
),
|
||||
Timeline.timestamp < expire_date,
|
||||
Timeline.camera == camera,
|
||||
).execute()
|
||||
|
||||
logger.debug(f"Expiring {len(deleted_recordings)} recordings")
|
||||
# delete up to 100,000 at a time
|
||||
max_deletes = 100000
|
||||
|
||||
Reference in New Issue
Block a user