fix sqlite3 locks (#5971)

This commit is contained in:
wozeparrot
2024-08-07 14:38:19 -07:00
committed by GitHub
parent cc37c99ae4
commit d3e427c8d9
+3 -1
View File
@@ -209,7 +209,9 @@ def db_connection():
if _db_connection is None:
os.makedirs(CACHEDB.rsplit(os.sep, 1)[0], exist_ok=True)
_db_connection = sqlite3.connect(CACHEDB, timeout=60, isolation_level="IMMEDIATE")
_db_connection.execute("PRAGMA journal_mode=WAL").fetchone()
# another connection has set it already or is in the process of setting it
# that connection will lock the database
with contextlib.suppress(sqlite3.OperationalError): _db_connection.execute("PRAGMA journal_mode=WAL").fetchone()
if DEBUG >= 7: _db_connection.set_trace_callback(print)
return _db_connection