複数のコンピュータが実行され、同じsqliteデータベースからすべての読み書きが必要なプログラムがあります。各プログラムはファイルに対してアクションを実行しており、sqliteテーブルに格納されているリストから利用可能なファイル名を要求します。たいていの場合、これを実行するユーザーは6〜10人になります。擬似コードは次のようになり...Python 2.7:複数のコンピュータ間でのSQliteと同時実行
con = sqlite.connection(db,timeout=60)
filename = select file from tablename limit 1;
update tablename set status ="busy" where file = filename;
<..perform action. takes 2-5 minutes..>
update tablename set status ="Finished" where file = filename;
repeat
したがって、各トランザクションが非常に速いですが、残念ながら私はまだ私が接続タイムアウトが本当に高く設定しても、「DBがロックされている」に問題を実行していますよ。私はapswの非同期vfsを読んだことがありますが、キューマネージャは1台のマシンにしかローカルではないようです。進める方法についてのアドバイスは?
編集:私はITの制限の下にあり、私の机の上に適切なSQLサーバーを設定することができません。
これは、SQLiteを使用しないでください。 PostgreSQLなどの適切なデータベースサーバを使用してください。 –
私は理解していますが、ITの制限により許可されません – njfrazie