• V
 

以固定速率处理消息

问题

您想以固定的速率处理消息,忽略那些到达过快的消息。例如,您有一个每秒发送数据的传感器,但您只想每 5 秒处理一次更新。您处理的消息必须是最新的。

解决方案

使用一个配置为速率限制通过的消息的 Delay 节点,并启用丢弃中间消息的选项。

示例

[{"id":"8a1bcd7d.f6b67","type":"inject","z":"ac14500e.2c57d","name":"Inject Array","topic":"","payload":"[0,1,2,3,4,5,6,7,8,9]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1380,"wires":[["bd4bdd42.bd1b"]]},{"id":"bd4bdd42.bd1b","type":"delay","z":"ac14500e.2c57d","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":320,"y":1380,"wires":[["be20c513.237c78"]]},{"id":"be20c513.237c78","type":"debug","z":"ac14500e.2c57d","name":"Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":510,"y":1380,"wires":[]}]

讨论

Delay 节点的速率限制模式可用于更改通过它的消息的速率。启用丢弃中间消息的选项后,它将丢弃在速率限制间隔内到达的任何消息。