forked from Github/frigate
Chunk timeline deletes (#12900)
This commit is contained in:
@@ -194,9 +194,13 @@ class EventCleanup(threading.Thread):
|
|||||||
events_with_expired_clips = self.expire(EventCleanupType.clips)
|
events_with_expired_clips = self.expire(EventCleanupType.clips)
|
||||||
|
|
||||||
# delete timeline entries for events that have expired recordings
|
# delete timeline entries for events that have expired recordings
|
||||||
Timeline.delete().where(
|
# delete up to 100,000 at a time
|
||||||
Timeline.source_id << events_with_expired_clips
|
max_deletes = 100000
|
||||||
).execute()
|
deleted_events_list = list(events_with_expired_clips)
|
||||||
|
for i in range(0, len(deleted_events_list), max_deletes):
|
||||||
|
Timeline.delete().where(
|
||||||
|
Timeline.source_id << deleted_events_list[i : i + max_deletes]
|
||||||
|
).execute()
|
||||||
|
|
||||||
self.expire(EventCleanupType.snapshots)
|
self.expire(EventCleanupType.snapshots)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user