サブジョブの実行の並列化/同期化
このシナリオは、全Talend製品に適用されます。
次の単純なシナリオでは、1つのtParallelizeコンポーネントと4つのtMsgBoxシングルコンポーネントサブジョブを使用するコンポーネント5つのメインジョブを作成します。tMsgBox_1コンポーネントは、トリガーサブジョブです。tParallelize_1コンポーネントは、tMsgBox_2とtMsgBox_3を同時に実行し、次にtMsgBox_4を同期して、サブジョブの同時実行の最後に実行されるようにします。
-
4つのtMsgBoxコンポーネントをパレットからデザインワークスペースにドロップします。
-
ダイアログボックスの表示プロパティを目的に応じて定義します。
tMsgBoxプロパティの定義の詳細は、tMsgBoxをご覧ください。
-
tParallelizeコンポーネントをデザインワークスペースにドロップします。
-
OnSubjobOkリンクを使用して、tMsgBox_1コンポーネントをtParallelize_1に接続します。 このリンクは右クリックメニューから使用します。このリンクが次のサブジョブをトリガーするのは、最初のサブジョブがエラーなしで完了した場合に限られます。
-
それぞれに[Parallelize] (並列化)リンクを使用して、tParallelize_1をtMsgBox_2とtMsgBox_3に接続します。このリンクは右クリックメニューから使用します。リンクは、接続される2つのサブジョブの実行を並列化するだけです。
-
[Synchronize] (同期)リンクを使用してtParallelize_1をtMsgBox_4に接続し、この4番目のサブジョブの実行をシーケンス化します。
-
tMsgBox_4を選択し、[Basic settings] (基本設定)パラメーターを設定するために使われます。
-
tParallelizeコンポーネントの[Basic settings] (基本設定)パネルの[Wait For] (待機)リストで、end of first subJobまたはend of all subJobsのどちらかを選択します。これにより、4番目のサブジョブが、最初のサブジョブの最後に実行されるか、またはすべてのサブジョブの最後に実行されるように、それぞれシーケンス化されます。
-
[Sleep Duration] (スリープ期間)フィールドで、サブジョブ実行のチェック間隔を秒で設定します。
-
メインジョブを保存します。
-
[F6]キーをクリックして実行します。
4つのメッセージボックスは、定義済みのシーケンスに従って表示されます。
上記は、tParallelizeコンポーネントによって何ができるかを示す非常に単純なのシナリオです。ただし、このコンポーネントを使用して、はるかに複雑なジョブを並列化/同期することも可能です。それにより、メインジョブをビルドする各サブジョブが、 Talend Studio 内で処理される任意のタスクを実行できます。