CIFS(Common Internet File System)を指すアプリケーションがあり、ファイルを読み取り、ローカルに移動して処理してから削除するというシナリオがあります。これはすべて正常に機能します。
ただし、CIFSから読み取る必要のあるファイルの頻度が高くなり、1つのボックスでは不十分になったため、上記のアプリケーションでさらに多くのボックスを展開したところ、問題ないと思われましたが、複数のマシンがあると言われています。奇妙だと思った同じファイルを処理していますが、複数の移動を処理するときにCIFS標準がどのように機能するかを確認できません。
各マシンのシナリオの手順(内部ロックメカニズムを備えた複数のスレッドもあります):
- すべてのCIFSファイルのリストを取得します(検索基準に一致します)
- リストから単一のファイルを取得します
- チェックファイルには、正常に書き込まれたことを示す対応するファイルがあります
- ファイルをローカルディスクに移動します
- 対応するファイルを削除する
- ファイルで何かをする
私の当初の想定では、CIFSは一度に1つの移動要求のみを尊重しますが、報告されていることから、これが当てはまるかどうかはわかりません。両方の移動要求を尊重しています。
環境/アプリケーションへのもう少しのコンテキスト:
- ユーザー名/パスワード認証を使用してWindowsでホストされるCIFS
- Windowsでホストされ、.NETで記述されたアプリケーション
- FileInfo.MoveTo()を使用して移動されたファイル
- アプリケーションのすべてのインスタンスは、異なる物理コンピューター上にあります
上記に関連する情報は素晴らしいでしょう!