import sqlite3
import time
from datetime import datetime

def is_db_locked_for_write(db_path):
    """
    使用 BEGIN IMMEDIATE 探测数据库是否允许写入
    """
    conn = None
    try:
        # timeout=0 确保探测是瞬时的，不阻塞
        conn = sqlite3.connect(db_path, timeout=0)
        conn.execute('BEGIN IMMEDIATE')
        conn.execute('ROLLBACK')
        return False
    except sqlite3.OperationalError as e:
        if 'database is locked' in str(e):
            return True
        return False
    finally:
        if conn:
            conn.close()

# 你的探测循环逻辑
db_path = '//ll/d/xtrssvjj/dpd.db'

while True:
    # 获取当前时间，格式为：月-日 时:分:秒
    now = datetime.now().strftime("%m-%d %H:%M:%S")
    
    if is_db_locked_for_write(db_path):
        print(f"{now} xxx 数据库已锁定，等待解锁...")
    else:
        print(f"{now} vvv 未锁定")
        
    time.sleep(1)
