設定した時間内でメッセージの受信がなければフローを実行

課題

設定した時間内にメッセージを受信しなかったらフローを実行したい。 たとえば、5秒ごとに読み取っているセンサー値の受信に失敗したら、それを知りたい場合などです。

解決

Trigger ノードを使用して、 定義した時間の間隔にメッセージを受信していないことを検出します。

議論

例のフローでは、上部のブランチで通常のメッセージのフローを示しています。 また2つめのブランチとして、Trigger ノードにも渡されています。

Trigger は、最初は何も送信せず、 5秒待って "timeout" メッセージを送信するよう設定されています。 新しいメッセージを受信した場合、この遅延を延長するオプションも選択されています。 つまり、メッセージを継続的に受信し続ける限り、ノードは何もしないということです。 最後のメッセージ受信から5秒を経過すると、一度だけ "timeout" メッセージを送信します。