フローを並行的に分岐させるには

パラレル分岐処理

あるコンポーネントが出力したストリームに対し、複数の処理を並行して行いたい場合、そのコンポーネントから直接、複数のコンポーネントに接続できます。このようなストリームの分岐を「パラレル」と呼びます。ストリームの実行順序はフロー設計時に設定します。

パラレル分岐処理を作成する

1.フローウィンドウを表示し、1つ目の処理に加え、2 つ目の分岐処理用のコンポーネントを配置する

4-66-01.png

 

HINT

ここでは例として、「読み込んだCSVファイルを別の CSV ファイルへ変換して保存する」1 つ目の処理に加え、「読み込んだCSVファイルのデータをRecordSortコンポーネントを使ってソートし別のファイルへ保存する」2 つ目の処理への分岐を設定しています。

RecordSort コンポーネント
「レコード」タブから利用できる RecordSort コンポーネント(「レコードをソートして出力します」)は、入力ストリームのレコード(Record/CSV/FixedLength)を昇順または降順でソートします。インスペクタで「ソートキー」タブをクリックし、「キー名」でキーを一覧から指定して、「ソート順」に「昇順」または「降順」を指定します。

 

2.分岐元のコンポーネントから、2つ目の分岐処理を接続する

4-66-02.png

 

HINT

パラレル分岐処理におけるフローの終了
フローの結果ストリーム(レスポンス)は 1 つである必要があるため、フローをパラレルで分岐したあとに、複数の EndResponse コンポーネントを配置することはできません。その場合、1 つの EndResponse コンポーネント以外は、End コンポーネントを使用します。End コンポーネントは結果ストリームを返さないので、1 つのフローの中に複数配置できます。フローの結果ストリーム(レスポンス)を必要としないなら、すべて End コンポーネントでかまいません。

 

3.処理に合わせてマッピングやストリーム定義を編集する

4-66-03.png

 

4.分岐元のコンポーネントをクリックすると、実行順序が青いアイコンで表示される

4-66-04.png

パラレル処理にする場合は、どちらの流れから実行していくかをフロー設計時に決定します。パラレル分岐している元のコンポーネントをクリックすると、その実行順序が青いアイコンの数字で示されます。

 

HINT

パラレルからの実行順序では、実行時に次の実行対象コンポーネント以外は処理待ち状態となります。実行対象として選ばれた流れは、終了コンポーネントに到達するか、またはパラレルの他の流れと合流するコンポーネントの直前まで処理を実行し、その後、次の流れを実行対象とします。

 

パラレルの実行順序を変更する

1.パラレル分岐しているコンポーネントを右クリックし、メニューから「実行順序の並べ替え」を選択する

4-66-05.png

 

2.「実行順序の並べ替え」ダイアログで実行順序を設定し、「OK」をクリックする

4-66-06.png

実行順序の変更が反映されて、アイコンの数字が設定した順番に変わります。

 

HINT

「実行順序の並べ替え」ダイアログでは、項目(コンポーネント)を選択してから右にある上矢印または下矢印ボタンをクリックすることで順番を変更できます。

 

この記事は役に立ちましたか?
3人中3人がこの記事が役に立ったと言っています

他のキーワードで検索する