Use playhouse.sqliteq.SqliteQueueDatabase instead of playhouse.sqlite_ext.SqliteExtDatabase to queue all operations and avoid "database is locked" errors

This commit is contained in:
Patrick Decat 2021-01-09 17:54:26 +01:00
parent 3647466eda
commit 0eed173609
No known key found for this signature in database
GPG Key ID: FD55B9BD5687D8FF

View File

@ -9,7 +9,7 @@ import signal
import yaml
from peewee_migrate import Router
from playhouse.sqlite_ext import SqliteExtDatabase
from playhouse.sqliteq import SqliteQueueDatabase
from frigate.config import FrigateConfig
from frigate.const import RECORD_DIR, CLIPS_DIR, CACHE_DIR
@ -112,7 +112,7 @@ class FrigateApp():
self.detected_frames_queue = mp.Queue(maxsize=len(self.config.cameras.keys())*2)
def init_database(self):
self.db = SqliteExtDatabase(self.config.database.path)
self.db = SqliteQueueDatabase(self.config.database.path)
# Run migrations
del(logging.getLogger('peewee_migrate').handlers[:])