digiRunner Composer node-red

Composer inject 節點的完整介紹

顏綸 Lun Yan 2023/11/29 18:42:48
278

前言

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

這篇主要是說 inject 節點的設定與特性,該節點也是能使用排程的節點之一。

 

 

一、基本介紹

inject 節點是 Node-RED 中的基礎節點,用於產生訊息流。其主要功能是在規定的時間或流程啟動時產生訊​​息。

其設定介面如下圖所示:

 

(1) "添加"按鈕可以對訊息物件 (msg) 添加屬性並顯示在上方框框內,並能選擇各種不同的值賦予給欲添加屬性,如下圖紅框處:

 

(2) "inject now" 按鈕按下後能直接生成一個訊息流,然後觸發該節點後續流程。

(3) 勾選 "立即執行於 n 秒" 會讓使用者在部署後的 n 秒產生一個訊息流,然後觸發該節點後續流程。

(4) 該區域是設定排程用的,依使用者設定在規定的時間間隔產生一個訊息流,然後觸發該節點後續流程。詳細用法將會在稍後介紹。

 

 

二、排程用法範例與特性

以下將會介紹幾種排程的用法:

(1) 每隔5秒觸發此流程

 

(2) 將於每個星期四的早上九點到下午五點間,每一分鐘去執行此流程

 

(3) 於平日的下午五點半執行此流程

 

(4) 於0.1秒後執行一次

 

(5) 於1秒後執行一次,之後每隔5秒觸發此流程

該方法假如在18:00:00部署後,18:00:01會執行一次,並於18:00:06再執行一次,之後每隔五秒執行一次。

 

 

 

注意:以上所有方法只要在"重複"選項的部分有選擇除了"無"以外的選項都將於部署後或是重啟 Composer 後開始於規定時間內執行排程

 

 

三、結語

inject 節點是使用者測試流程不可或缺的好幫手,只是使用排程的部分可能還無法滿足所有使用者的需求,

並且如果只限定該排程只能於同一時間只執行一次,那將不適用於 HA 架構和需要 auto scaling 的環境中

所以基本上 inject 節點大部分還是拿來做模擬需求參數用。

 

 

顏綸 Lun Yan