我正在使用一个简单的 sqlite DB 作为进程之间的持久性消息队列机制。为了在超过一定限制后减小文件大小,我想使用“vacuum”命令。一般来说,这一切都很好,只是我在吸尘时时不时地得到一个“数据库被锁定”的错误。
在阅读了网络上的各种资源后,我了解到在 sqlite 级别上我无能为力。
但是,除了附带问题“为什么会这样?使用常规的 busyHandler 机制重试获取所需的锁会有什么问题?” 我想出了在应用程序级别实现完全相同的busyHandler机制的想法。
现在的基本问题是:这有什么问题吗?
很多谢谢!