SQLite WAL 开了仍报 database is locked?Python 后台任务的事务与幂等修复有团队把SQLite切换成WAL以后,以为多个Python进程能同时修改一个数据库文件。读请求确实更加顺畅,后台任务却仍然偶尔报database is locked。这不是WAL失效。SQLite官方明确说明:WAL允许读取和写入更好地并行,但一个时刻仍只有一名写入者。几个进程使用不同连接,也不会获得多名写入者同时提交的能力。了解这个限制以后,诊断重点就应当从一味增加超时,转到真正的事务边界。