add lock window function, and did some improvements for the whole structure
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import sqlite3
|
||||
from threading import Lock
|
||||
import time
|
||||
from codes.common import clibs
|
||||
|
||||
@@ -30,10 +29,10 @@ def db_init(db_file):
|
||||
def db_lock(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
try:
|
||||
Lock().acquire(True)
|
||||
clibs.lock.acquire(True)
|
||||
ret = func(*args, **kwargs)
|
||||
finally:
|
||||
Lock().release()
|
||||
clibs.lock.release()
|
||||
return ret
|
||||
return wrapper
|
||||
|
||||
@@ -47,8 +46,7 @@ def db_backup():
|
||||
db_file_backup.write_bytes(db_file.read_bytes())
|
||||
db_dir = clibs.base_path / "assets/database"
|
||||
db_list = [db for db in db_dir.glob("*.db")]
|
||||
print(f"db_list: {sorted(db_list)}")
|
||||
for db in sorted(db_list)[:-clibs.max_db_number]:
|
||||
for db in sorted(db_list)[:-clibs.account["maximum_db_number"]]:
|
||||
db.unlink()
|
||||
|
||||
def db_conn():
|
||||
@@ -61,4 +59,9 @@ def db_conn():
|
||||
cursor.execute("PRAGMA temp_store=memory")
|
||||
cursor.execute("PRAGMA mmap_size=30000000000")
|
||||
cursor.execute("PRAGMA cache_size=200000")
|
||||
return conn, cursor
|
||||
return conn, cursor
|
||||
|
||||
@db_lock
|
||||
def db_close(conn, cursor):
|
||||
cursor.close()
|
||||
conn.close()
|
Reference in New Issue
Block a user