質問

このような動作でサービスを実装するタスクがあります。私の質問は次のとおりです。

インデックスサービスは、どのファイルが既にインデックス作成されていたか、どのようなファイルが変更され、それらを再インネックスする必要があるかをどのように覚えていますか?

また、このサービスを停止してから、数日後に開始することができます。ファイルに関する情報を含む独自のデータベースがありますか?

ありがとうございました

役に立ちましたか?

解決

通常、インデックスサービスはバックグラウンドを使用しています WaitForSingleObject / WaitForMultipleObjects 通話によって作成されたハンドル FindFirstChangeNotification. 。インデックスサービスをシャットダウンできる(または既存のディレクトリに使用する)サポートをサポートする場合は、すべてのファイルに最後のインデックス実行のタイムスタンプを必ず保存する必要があります。これをと比較できます lastwritetime 指定されたファイルの。

編集:使用する必要があります readdirectoryChangesw また、変更を見逃さないようにファイルを非同期的にインデックスする別のスレッド。ファイルごとに新しいスレッドを生成してインデックスを作成する(高価)、ジョブキューと固定量のワーカースレッド(1または2)を使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top