プロセス間の永続的なメッセージ キューイング メカニズムとして単純な sqlite DB を使用しています。特定の制限を超えた後にファイルサイズを縮小するには、「vacuum」コマンドを使用したいと考えていました。通常、これはすべてうまく機能しますが、掃除機をかけるときに「データベースがロックされています」というエラーが時々発生するだけです。
Web 上のさまざまなリソースを読んだ後、sqlite レベルでできることは何もないことがわかりました。
ただし、副次的な質問のほかに、「なぜそうなのか? 通常の busyHandler メカニズムを使用して必要なロックを取得しようとすると、何が問題になるのでしょうか?」私は、まったく同じ busyHandler メカニズムをアプリケーション レベルで実装するというアイデアを思いつきました。
ここで重要な質問: これで何か問題がありますか?
たくさんthx!!