Optimization of Sync Records: Implementing Pagination and Temporary Table (#6585)

* Update pull_request.yml

* Add temporary table for deletion and use pagination to process recordings in chunks for deletion of recordings with missing files

* move RecordingsToDelete class to models.py

* recording cleanup: bugfixes

* Update cleanup.py

* improve log message in cleanup.py

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
This commit is contained in:
Sergey Krashevich
2023-06-11 16:01:50 +03:00
committed by GitHub
parent 7459a1cdde
commit 5c27cb7e9b
3 changed files with 58 additions and 22 deletions

View File

@@ -11,7 +11,7 @@ from playhouse.sqliteq import SqliteQueueDatabase
from setproctitle import setproctitle
from frigate.config import FrigateConfig
from frigate.models import Event, Recordings, Timeline
from frigate.models import Event, Recordings, RecordingsToDelete, Timeline
from frigate.record.cleanup import RecordingCleanup
from frigate.record.maintainer import RecordingMaintainer
from frigate.types import RecordMetricsTypes
@@ -46,7 +46,7 @@ def manage_recordings(
},
timeout=60,
)
models = [Event, Recordings, Timeline]
models = [Event, Recordings, Timeline, RecordingsToDelete]
db.bind(models)
maintainer = RecordingMaintainer(