私は共有リソースにアクセスするすべての異なるサーバーで一連のサービスを実行しています。何らかの処理が必要な動画を含むフォルダのリスト。サービスのリストから矛盾のないフォルダのセットにアクセスする方法
サービスが同時に同じフォルダにアクセスするのを防ぐためのロック機構を実装したいと思っています。これまでのところ、フォルダ内にテキストファイルを「フォルダ内ロック」として作成し、ビデオファイルを処理する前に
私は、このテストでは、サービスがフォルダを検索する実際のプロダクション設定ではうまくいかないことは確かです。
アイデア?
ご協力いただきありがとうございます。
「ロックファイル」のアイデアはうまく聞こえます。なぜそれは動作していないと思いますか?あなたが覚えておかなければならないのは、ロックをダブルチェックすることです(https://en.wikipedia.org/wiki/Double-checked_locking) –
これらのサービスが同じマシン上にある場合は、適切なプロセス間同期を使用する必要があります。http ://stackoverflow.com/questions/229565/what-is-a-good-pattern-for-using-a-global-mutex-in-c。そうでなければ、FileShare.Noneでファイルベースのロックを作成しようとする可能性があります - http://stackoverflow.com/questions/5522232/how-to-lock-a-file-with-c - http:// stackoverflowを参照してください。 .com/questions/1746781/win-with-a-file-is-available-for-win32を参照してください。 **ファイルが存在するかどうかを確認しない** - 確実にロックする。 –