TPL を使用して並列処理するキューに対して動作する ac# プロセスがあります。各レコードを処理した後、処理された各レコード ID の物理レコードを確立して、プロセスが失敗したり中断されたりした場合に、そのレコードを再度処理しないようにします。レコードは 1 回だけ処理する必要があります。
レコード ID を単純なテキスト ファイルと Sqlite テーブルにシリアル化しようとしました。どちらの場合も、これらの小さなレコード ID (Guid) を保存する時間は、レコード自体の合計処理時間の 50% を占めます。開いているSqlite接続とパラメータ化された挿入クエリを使用して挿入を試みたので、データベースファイルを開いたり閉じたりすることはありません。
私の質問は、Guid のリスト (おそらく 1000 ~ 2000 個) を永続的な方法で維持し、プロセスが終了した場合にそれらを保存して、中断したところから再開できるようにするにはどうすればよいかということです。高速で、サーバーが再起動したり、プロセスが強制終了されたりしても問題が解決しない限り、私は喜んで何でも試してみます。
何か案は?