パラレルフローランチャーのワークフローアクティビティ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • [パラレルフローランチャー] アクティビティは、複数のサブフローを並列に起動します。

    並行して実行されるワークフローは同時に実行され、任意の順序で完了することができます。アクティビティは、必要に応じて単一のサブフローまたは複数のサブフローを起動できます。サブフローごとに返される入力値と値を管理できます。
    注:
    [パラレルフローランチャー] アクティビティは、続行する前にすべてのサブフローが完了するまで待機します。サブフローが終了しない場合、アクティビティは無期限に待機します。

    [パラレルフローランチャー] アクティビティで多数のサブフローを起動しないでください。過度に使用された場合、このアクティビティはインスタンスに過度の負担をかける可能性があります。膨大な数のサブフローを起動するには、パラレルフローランチャーをターンスタイルまたはその他の条件付きアクティビティによって制御されるループ内に配置してバッチを実行することをご検討ください。

    アクティビティ変数

    アクティビティ変数は、アクティビティの初期動作を決定します。

    表 : 1. パラレルフローランチャー アクティビティの入力変数
    フィールド 説明
    パラレルフローランチャーの設定
    名前 アクティビティの一意の名前。
    ステージ ワークフローがアクティビティに到達したときに表示するステージ。
    入力 実行するサブフローへの入力。起動するワークフローで定義されている各入力に対して「名前:値」のペアの配列を指定します。入力された各入力変数の名前とデータ型は、このアクティビティが起動するサブフローで使用されているものと一致する必要があります。詳細な例については、「パラレルフローランチャーの例」を参照してください。
    パラレルフローランチャーの選択
    Workflow 実行するワークフロー。
    詳細 [詳細] をオンにし、WorkflowCoordinator オブジェクトを使用してサブフローを管理するスクリプトを入力します。[詳細] をオンにすると、各入力変数のセットごとに固有のワークフローを指定するスクリプトを入力できるテキスト ボックスが表示されます。詳細については、「WorkflowCoordinator オブジェクト」を参照してください。
    パラレルフローランチャーの反復

    パラメーターを指定してバッチ ワークフローのパフォーマンスをチューニングします。

    カウント 入力設定で指定されない場合、[カウント] がこのアクティビティから並列に実行されるサブフローの数を決定します。[詳細] オプションがオフの場合は、このフィールドに有効な番号が入力されていることを確認します。
    最大フロー数 このアクティビティが起動できるワークフローの最大数。この値が正の整数の場合、WorkflowCoordinator コンストラクターで使用される max パラメーターを上書きします。
    最大同時回数 このアクティビティが同時に実行できる並列ワークフローの最大数。この値が正の整数である場合、WorkflowCoordinator コンストラクターで使用される poolsize パラメーターを上書きします。
    パラレルフローランチャーのプロセス
    プロセス フロー完了 各サブフローが完了した後に実行されるスクリプトを指定するには、[プロセス フロー完了] をオンにします。このフィールドをオンにすると、[フロー完了] とラベル付けされたテキスト ボックスが表示され、実行するスクリプトを入力できます。
    フロー完了 サブフローが終了するたびに実行されるスクリプト。このフィールドは、[プロセス フロー完了] オプションが選択されている場合に利用できます。

    他のワークフロー スクリプトで使用できる同じスクリプト関数および変数 ([スクリプトの実行] アクティビティなど) は、ここで使用できます。詳細については、「スクリプトで完了したサブフロー値」を参照してください。

    変数「flow」はこのスクリプトで使用できます。これは、終了中のフローに関する以下の情報を含むオブジェクトです。

    flow.output (String):終了前にリターン値アクティビティを実行した場合、サブフローが親に返す値。

    flow.index (Number):終了したサブフローのゼロ相対インデックス。

    flow.contextId (String):完成したサブフローのワークフロー コンテキストの sys_id。

    flow.inputs (Object):コンテキストの作成および開始時にサブフローに渡された入力。

    flow.status (String):コンテキストの最終状況。これは、サブフロー コンテキスト レコード内の可能な値を持つ [状態] 列に対応します。この列の可能な値は、[実行中][完了][キャンセル]、または [障害] です。(フローは完了しているので、この時点で [実行中] にはなり得ません。)

    パラレルフローランチャーの分割
    プロセス終了 すべてのサブフローが終了した後に実行されるスクリプトを指定するには、[プロセス終了] をオンにしてください。このフィールドをオンにすると、[終了スクリプト] とラベル付けされたテキストボックスが表示され、実行するスクリプトを入力できます。「コーディネーター」変数はこのスクリプトで利用可能になり、getFlow(index) メソッドを使用して完成したどのサブフローにもアクセスできるオブジェクトになります。例:
    for (var i = 0; i < coordinator.getNumFlows(); i++) 
    writeFlowResultsToTable( i, coordinator.getFlow(i) );
    終了スクリプト アクティビティによって起動されたすべてのサブフローの後に実行されるスクリプトは完了しています。このスクリプトでは、完了したフロー情報を含む変数を使用できます。

    「コーディネーター」変数はこのスクリプトで利用可能になり、getFlow(index) メソッドを使用して完成したどのサブフローにもアクセスできるオブジェクトになります。例:

    for (var i = 0; i < coordinator.getNumFlows(); i++) 
    writeFlowResultsToTable( i, coordinator.getFlow(i) );
    このフィールドは、[プロセス終了] が選択された場合に利用可能です。

    状況

    アクティビティ状況は、ワークフロー エンジンがアクティビティを処理する方法を指示します。アクティビティの状況を表示するには、そのアクティビティをポイントします。ポップアップ ウィンドウには、アクティビティの [状況] および [結果] が表示されます。アクティビティがエラー状態にある場合、ポップアップ ウィンドウには簡単な [障害の説明] が表示されます。

    表 : 2. パラレルフローランチャーアクティビティ状況
    状況 説明
    待機中 アクティビティは、すべてのサブフローが終了するのを待機しています。すべてのサブフローが開始されており、完了しているサブフローもあります。
    完了 アクティビティはすべてのサブフローを正常に完了しました。
    エラー アクティビティでエラーが発生しました。