maestro-automate
latest
false
Maestro Automate ユーザー ガイド
- はじめに
- 開発
- デプロイして実行する
- 例
- 参照
結合
マージ ノードは、並列分岐が完了するのを待機し、その出力変数を結合します。
すべての入力並列分岐が完了するまで待機してから、次のノードに実行を続行します。
[結合] を使用する状況
[結合] は、ワークフローが (1 つのノードの出力ポートから複数の接続を引き込むことによって) 完全に並列な分岐に分割される場合に適合し、すべての分岐が完了した後にのみ続行する必要がある場合に適合します。
[判断] ノードまたは [条件分岐] ノードの後に [結合] ノードは必要ありません。これらの分岐は相互に排他的であり、並列ではないためです。これらは、マージ ノードなしで自然に収束します。
構成
[結合] ノードには設定フィールドはありません。キャンバス上のコネクションから入力される分岐の数を推測します。
動作のしくみ
分岐が完了すると、マージ ノードはその出力変数を収集します。最後の分岐が完了すると、Merge は単一の出力ポートをアクティブ化します。すべてのブランチからの出力変数はすべて下流のノードで使用できます。
例
その後結合される並列 API 呼び出し:
Trigger → [HTTP Request A] → Merge → Script (combine A and B results)
→ [HTTP Request B] ↗
Trigger → [HTTP Request A] → Merge → Script (combine A and B results)
→ [HTTP Request B] ↗
マージ後のスクリプト ノードは、 httpRequestA.body と httpRequestB.bodyの両方を参照できます。
次の 3 つの強化ステップを並行して実行します。
Trigger → [Enrich from CRM] ↘
→ [Enrich from billing] → Merge → Data Transform (combine all three)
→ [Enrich from support] ↗
Trigger → [Enrich from CRM] ↘
→ [Enrich from billing] → Merge → Data Transform (combine all three)
→ [Enrich from support] ↗
一般的な問題
| 問題 | 解決方法 |
|---|---|
| 2 つの分岐が同じ名前の変数を生成します | 最後に完了した分岐が優先されます。競合を回避するには、競合する出力変数の 1 つの名前を変更します。 |
| 1 つの分岐が失敗し、結合が完了しない | いずれかの入力ブランチで未処理のエラーが発生すると、Merge はエラーを発生させ、残りのブランチの待機を停止します。各ブランチで失敗しやすいノードにエラー ハンドルを接続し、エラーが Merge に到達する前に処理されるようにします。 |
| [判断] ノードの後に [結合] を使用する | 判断ノードからの分岐は相互に排他的であり、1 つの分岐のみが起動します。その後の [結合] ノードは、実行されない 2 番目の分岐を永久に待機します。[結合] を削除します。ブランチは暗黙的に再結合されます。 |
備考
- [結合] にタイムアウトはありません。応答を待機しているクイック フォームなどでブランチがハングした場合、ハングしているノードにタイムアウトがない限り、マージは無期限に待機します。