【質問】
以下のようなワークフローにおいて、トリガー条件を満たすと、エージェントグループ(Agent Group)内の
全てのAgentにおいてタスクが実行されてしまう。
(以下、対象のAgent Groupは「Group」と表記)
・トリガー:Email(Exchange)トリガー
割当先はGroup
・トリガーの後続のタスク:割り当てAgentは「起動したAgent」
なお、エージェントグループの配布の設定は、ラウンドロビンに設定してある。
やりたいこととしては、トリガーを満たしたのち、Group内のどれか1つのAgentだけで、
ラウンドロビン形式でタスクを実行したい。
トリガーの後続のタスクの割当先を「Group」としても、同様にGroup内のすべてのAgentでタスクが実行される。
設定が間違っているのだろうか。
【回答】
今回のトリガー(Emailトリガー)の場合、
AgentGroupを構成している全Agentにおいて
参照しているものが同じである為、AgentGroup内全てのAgentが
トリガー条件を満たし、ワークフローがAgentGroupの構成Agent数分
起動されてしまいます。
(AgentGroupの配布の設定は、タスクにかかる設定となります)
(また、Emailトリガーだけでなく、ファイルシステムトリガーのネットワークドライブ監視のように
Agent Group内のAgent全てにおいて参照するものが同じである場合が対象となります。
そのため、
トリガーの割当先Agent:AgentGroup内の任意の1Agent
後ろに繋がるタスク:AgentGroup(ラウンドロビン設定済み)
とすることにより、トリガーの後続のタスクをどこか1Agentでのみ実行し、なおかつ
Agent Group内のAgentにおいてラウンドロビンでタスクを実行可能となります。