7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SRAAdvent Calendar 2017

Day 16

Node-REDの技術情報

Last updated at Posted at 2017-12-16

Node-REDを仕事で使用しており、いくつかわかったことがあリますので技術情報を共有します。

1.HTTPの通信エラーを検知する方法

msg.statusCodeの内容で判定して、通信エラーを検知することができます。
具体的には、msg.statusCodeの内容が200かotherwiseというように判定する。
msg.statusCodeには、数値だけではなく文字列が入ることがあるためです。
例えば、HTTPリクエスト先URLのサーバが起動していない場合は、msg.statusCodeに”EHOSTUNREACH”という文字列が入ってきます。

(例)msg.statusCode:200
スクリーンショット 2017-12-16 20.12.32.png

(例)msg.statusCode:”EHOSTUNREACH”(HTTPリクエスト先URLのサーバが起動していない場合)
スクリーンショット 2017-12-16 20.18.38.png

通信エラーを検知して画面に何かアラートを表示する際には、活用できると思います。

2.メモリの負荷を減らす工夫

デバッグノードを繋ぐことでフローが二股になるようなところでは、メモリの負荷を減らすために、デバッグノードの線を削除した方が良いです。
フローが二股になるとmsgデータがコピーされるため、メモリの負荷に繋がるようです。

私の場合は、デバッグノードを使用せずに、ファンクションノードでnode.status関数を使用して、ファンクションノードの下にデバッグノードで表示していた内容を表示するように工夫しています。

(例)ファンクションノード
スクリーンショット 2017-12-16 21.07.18.png

node.status関数の使用方法は、ドキュメントを参照ください。

3.WebSocketの接続エラーを検知する方法

ステータスノードを使用すると、WebSocketの接続状態を検知することができます。
具体的には、connected 又は disconnectedという状態が取得できます。

(例)ステータスノード:connected
スクリーンショット 2017-12-16 21.54.03.png

(例)ステータスノード:disconnected
スクリーンショット 2017-12-16 21.56.10.png

WebSocketの接続状態を検知して、画面に何かアラートを表示する際に活用できると思います。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?