digiRunner Composer node-red

Composer complete 節點與 status 節點的完整介紹

顏綸 Lun Yan 2024/07/25 21:27:49
144

前言

如果還不知道什麼是 Composer 的朋友們,可以先參考這篇 DigiRunnerAPI組合與設計 。

該篇範例會用到之前介紹的節點,如果想深入了解這幾個節點的朋友,也可以參考以下幾篇:

Composer debug 節點的完整介紹

Composer function 節點的基本介紹

Composer inject 節點的完整介紹

 

想要得知節點的狀態?

想要在 function 節點自定義節點的狀態?

想要在流程執行完某件事時,同步觸發其他流程?

有這些需求的朋友,就讓我們接著看下去。

 

 

一、基本介紹 

status 節點:

該節點獲取在同一標簽頁上的其他節點的狀態消息。默認情況下,節點會獲取同一標簽頁上所有節點的狀態。

可以通過節點設定介面來設定目標節點,以下是關於介面設定部分:

(1) 可以選取報告的節點範圍:

所有節點:默認選項,可以監測此 API flow 的所有節點。

in same group:只會監測在同一個組 (group) 的節點狀態,如果該 status 節點沒有組,則會直接監測所有節點。

指定節點:只有被選擇節點的節點才會被監控。

 

(2) 按下選擇節點可以讓使用者在編輯面板直接選取,如下圖所示:

 

(3) 依節點名稱來搜尋同一標籤頁的節點。

 

(4) 使用勾選來挑選要被監控之節點,只有在指定節點才會出現此介面。

 

(5) 自取節點名稱。

 

complete 節點:

當另一個節點完成對 msg 的處理時就會觸發 complete 節點。該節點可用于觸發第二個流程。

complete 節點可以與沒有輸出端口的節點一起使用,例如在使用電子郵件發送節點來發送郵件後觸發一個流程。

此節點只能被設置爲處理流程中某個所選節點的事件。與 catch 節點不同的是不能去指定“所有節點”模式並以流程中的所有節點爲目標。

以下是關於介面設定部分:

該節點選取節點的功能與 catch 節點和 status 節點一模一樣,就不再贅述。

 

 

二、簡單範例

範例一、 這邊有個小範例,其 status & complete 節點都監聽著 function 節點,如下圖所示:

其中 function 節點內為:

以上 node.status 方法是為了讓 function 節點有狀態。

注入後,function 節點出現了節點狀態:

並且同時監聽著 function 節點的 status 節點與 complete 節點依序輸出:

可以發現 complete 節點與其監聽的節點輸出的 msg 是一模一樣的,

而 status 節點會輸出監聽節點的狀態 (status) 以及節點資訊 (source),msg 展開後如下圖所示:

 

三、結語 

complete 節點和 status 節點提供了強大的監控和管理能力。通過這些節點,開發者能夠更精確地監控流程的運行狀況,

及時發現並解決問題,從而提高流程的穩定性和效率。這些工具在流程自動化和物聯網應用中,

特別是需要高可靠性和即時反應的場景下,顯得尤為重要。

 

 

四、參考文獻

(1) node-red 官方

(2) 自己

 

顏綸 Lun Yan