Move recording management to separate process (#6248)

* Move recordings management to own process and ensure db multiprocess access

* remove reference to old threads

* Cleanup directory remover

* Mypy fixes

* Fix mypy

* Add support back for setting record via MQTT and WS

* Formatting

* Fix rebase issue
This commit is contained in:
Nicolas Mowen
2023-04-26 07:25:26 -06:00
committed by GitHub
parent 6dc82b6cef
commit e451f44ced
8 changed files with 402 additions and 294 deletions

19
frigate/record/util.py Normal file
View File

@@ -0,0 +1,19 @@
"""Recordings Utilities."""
import os
def remove_empty_directories(directory: str) -> None:
# list all directories recursively and sort them by path,
# longest first
paths = sorted(
[x[0] for x in os.walk(directory)],
key=lambda p: len(str(p)),
reverse=True,
)
for path in paths:
# don't delete the parent
if path == directory:
continue
if len(os.listdir(path)) == 0:
os.rmdir(path)