検索

6.8. Parallelism

download PDF

OpenShift Serverless Logic は並列タスクの実行をシリアル化します。parallel という言葉は同時実行を意味するのではなく、分岐の実行間に論理的な依存関係がないことを意味します。アクティブブランチが実行を中断した場合、非アクティブブランチはアクティブブランチが完了するのを待たずにタスクの実行を開始または再開できます。たとえば、アクティブなブランチは、イベントの受信を待機している間、実行を一時停止する場合があります。

並列状態は、現在のワークフローインスタンス実行パスを、各ブランチごとに 1 つずつ複数のパスに分割する状態です。これらの実行パスは並列で実行され、定義された completionType パラメーター値に応じて現在の実行パスに結合されます。

JSON 形式の並列ワークフローの例

 {
     "name":"ParallelExec",
     "type":"parallel",
     "completionType": "allOf",
     "branches": [
        {
          "name": "Branch1",
          "actions": [
            {
                "functionRef": {
                    "refName": "functionNameOne",
                    "arguments": {
                        "order": "${ .someParam }"
                    }
                }
            }
        ]
        },
        {
          "name": "Branch2",
          "actions": [
              {
                  "functionRef": {
                      "refName": "functionNameTwo",
                      "arguments": {
                          "order": "${ .someParam }"
                      }
                  }
              }
          ]
        }
     ],
     "end": true
}

YAML 形式の並列ワークフローの例

name: ParallelExec
type: parallel
completionType: allOf
branches:
- name: Branch1
  actions:
  - functionRef:
      refName: functionNameOne
      arguments:
        order: "${ .someParam }"
- name: Branch2
  actions:
  - functionRef:
      refName: functionNameTwo
      arguments:
        order: "${ .someParam }"
end: true

前の例では、allOf は、状態が遷移または終了する前にすべてのブランチの実行が完了する必要があることを定義しています。このパラメーターが設定されていない場合、これがデフォルト値です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.