This commit is contained in:
2026-04-27 13:23:23 +08:00
parent cf64bc4703
commit 77f0d404fa
2 changed files with 5 additions and 2 deletions

View File

@@ -624,8 +624,9 @@ def compute_storage_stats(base: Path, days: int, keyword_list: Tuple[str, ...])
kw_params = [f"%{k}%" for k in keyword_list]
for channel_id, path in dbs:
conn = sqlite3.connect(str(path))
conn = sqlite3.connect(str(path), timeout=60.0)
try:
conn.execute("PRAGMA busy_timeout=60000")
cur_sql = conn.cursor()
cur_sql.execute("SELECT COUNT(*) FROM messages")
total_all_time += int(cur_sql.fetchone()[0])

View File

@@ -438,7 +438,9 @@ class OptimizedTelegramScraper:
channel_dir.mkdir(exist_ok=True)
db_file = channel_dir / f'{channel}.db'
conn = sqlite3.connect(str(db_file), check_same_thread=False)
# 多频道轮询写入时适当延长等待,减轻与其它进程/备份工具短暂抢锁时的 OperationalError
conn = sqlite3.connect(str(db_file), check_same_thread=False, timeout=60.0)
conn.execute("PRAGMA busy_timeout=60000")
conn.execute('''CREATE TABLE IF NOT EXISTS messages
(id INTEGER PRIMARY KEY, message_id INTEGER UNIQUE, date TEXT,
sender_id INTEGER, first_name TEXT, last_name TEXT, username TEXT,