イベントを監視アクティビティ使用の注意点

イベントを監視アクティビティ内に『ファイル変更トリガー』を並列に3つ配置し、それぞれのプロパティに指定したファイルパスにファイルが入った(Create)時点で処理を開始するロボットを作っています。しかし不安が2つあります。

1つは、A,B,Cのフォルダの内、AとBに同時にファイルが作成された場合、どのトリガーが優先されるのか、という点です。

2つは、Aのファイルトリガーで処理が進んでいるときに、A,B,Cのいずれかにファイルが入った場合いま動いている処理影響を及ぼさないか、という事です。これについては、検証をしてみてトリガー実行中に別トリガーが条件を満たしても先にトリガー実行している処理が終わるまで待機していることは分かりましたが、この『待機』がロボットに悪い影響を与えないか心配です。

このアクティビティについは情報が少ないため、どなたかご教示いただけますと幸いです。

『ファイル変更トリガー』の機能から推察するに、裏では FileSystemWatcherが使用されているのではと思いますので、読んでみてください。


(ざっと見たところ、監視フォルダ間でファイル移動したらとても面倒なことになりそうだなとか)

質問1は、厳密に言えば同時に作成(変更、削除)されるわけではないので、どれが優先というのはありません。
質問2は、待ち行列(キュー)に通知が溜まっていき、順に取り出されていくので、取り出されるまでは影響ないと言えます(バッファーサイズとかの注意はあるようですが)。
取り出されてからはシリアルに各処理をするか並列で処理するか。並列なら互いに影響あるかは記述する処理次第になります。

1 Like

早速のご返信ありがとうございます。

Trigger実行中に別のTriggerが実行された場合、すぐに実行されずキューに登録され順番待ちになること承知致しました。

FileWacterのご説明もいただきありがとうございます。