Skip to main content

 

アプリケーションの開発

 

OutSystems

複数のインスタンスアクティビティの実行

このパターンを使用して、アクティビティの同一フローで複数のインスタンスを実行します。実行中のインスタンスの数以外は実行時にわからない、という状況で特に有効です。

アクティビティのフローで複数のインスタンスを実行するには、それらのアクティビティを新しいプロセス)またはConditional Startのフローに配置します。

新しいプロセスを使用するメリットは、それがプロセスの構造を明確化し、プロセスインスタンスが何百万という数になったとしても拡張性を向上できることです。また、条件付き開始の使用を制限する場合にも役立ちます。

デメリットは、新しいプロセスと通信し、親プロセスが終了したときにはすべての子プロセスも終了するように追加の設計が必要になることです。

例として、採用応募者の対応プロセスを考えます。プロセスの特定の時点で面接が予定され、それぞれに面接者が割り当てられます。予定された面接の数は、職種によって異なります。人材採用プロセスは、すべての面接が終了するまで継続します。

新しいプロセスの使用

CandidateSelectionプロセスが実行されると、以下の状態になります。

  1. Human Activityで面接が予定(作成)されます。

  2. CandidateInterviewプロセスのインスタンスが、予定された面接ごとに1つずつ実行されます(プロセスはLaunch Onプロパティでそのように設定されます)。

  3. Waitアクティビティは、CandidateSelectionプロセスの実行を保留します。

  4. 面接が更新されるたびに、WaitアクティビティはOnCloseコールバックアクションの実行によって一時的に終了します。最終的には、すべての面接のフィードバックが入力されたときにのみ終了します。

条件付き開始の使用

プロセスが実行されると、以下の状態になります。

  1. ScheduleInterviewsHuman Activityで面接が予定(作成)されます。

  2. Conditional Startのインスタンスが、予定された面接ごとに1つずつ実行されます(Start Onプロパティでそのように設定されます)。

  3. WaitForAllFeedback待機アクティビティは、プロセスの実行を保留します。

  4. 面接が更新されるたびに、WaitアクティビティはOnCloseコールバックアクションの実行によって一時的に終了します。最終的には、すべての面接のフィードバックが入力されたときにのみ終了します。

  • Was this article helpful?