Complete ノードとStatus ノードは、他のノードの動作状況を監視するためのノードです。Catch ノード(エラー監視)と合わせて、フローの監視に使用します。
役割: 指定ノードの処理完了を検知
用途:
役割: 指定ノードのステータス変化を検知
用途:
🏭 工場のラインに例えると:Complete ノードは「作業完了」のランプ、Status ノードは機械の「状態表示パネル」のようなものです。作業が終わったか、今どんな状態かをリアルタイムで把握できます。
| プロパティ | 説明 |
|---|---|
| Scope | 監視対象ノードを選択(複数選択可) |
| Name | ノードの表示名 |
node.done() を呼び出したとき💡 ポイント:
すべてのノードが Complete をサポートしているわけではありません。主に非同期処理を行うノード(HTTP Request、Exec、File など)で有効です。
| プロパティ | 説明 |
|---|---|
| ステータス取得元 | 監視対象ノードを選択(複数選択可、または全ノード) |
| 名前 | ノードの表示名 |
| fill(色) | shape(形状) | 意味 |
|---|---|---|
| green | dot(塗りつぶし) | 正常・接続中 |
| yellow | ring(輪) | 待機中・処理中 |
| red | dot | エラー・切断 |
| blue | dot | 情報・アクティブ |
| grey | ring | 無効・停止 |
| ノード | 検知するもの | 発火タイミング |
|---|---|---|
| Complete | 処理完了 | ノードがメッセージ処理を完了したとき |
| Status | 状態変化 | ノードがステータスを更新したとき |
| Catch | エラー | ノードがエラーを投げたとき |
📋 課題: Delay ノードの処理完了を Complete ノードで検知し、開始から完了までの時間を表示してください。
✅ 成功の条件:
msg.payload が "経過時間: 3000ms" のような文字列になっている(数値は設定した遅延時間に近い値)1. Inject ノードで msg.startTime に現在時刻を設定
2. Complete ノードで Delay の完了を検知
3. Function ノードで経過時間を計算
📋 課題: Function ノードでステータスを更新し、Status ノードでその変化を検知してください。
✅ 成功の条件:
msg.status オブジェクト(fill、shape、textを含む)が出力されるFunction 内で node.status({fill:"色", shape:"形状", text:"テキスト"}) を使用します。
📋 課題: Complete、Status、Catch を組み合わせて、処理の成功/失敗を完全に監視するフローを作成してください。
✅ 成功の条件:
msg.payload が出力されるmsg.error オブジェクトが出力されるFunction ノードで node.error() を使うとエラーを発生させ、Catch で捕捉できます。
🎯 重要ポイント:
⚠️ 注意事項:
外部API呼び出しの完了をComplete で検知し、後続処理をトリガー。
Status ノードでMQTTブローカーへの接続状態を監視し、切断時にアラート。
開始時刻を記録し、Complete で完了を検知して処理時間をログ。
各処理ステップの Status を監視してダッシュボードに進捗を表示。