您的位置:首页 > Web前端 > Node.js

Node-RED使用指南:20:使用trigger进行限速控制

2020-03-16 18:39 519 查看


trigger是Node-RED中的一个常用组件,这篇文章继续结合实例介绍使用trigger进行限速控制的方法。

事前准备

以容器方式启动Node-RED服务,启动命令如下所示:

启动命令:docker run -it -p 1880:1880 -v $PWD/data:/data -e TZ=Asia/Shanghai --name nodered -d nodered/node-red:1.0.4

数组拆分使用示例

flow设定

在前面的文章也介绍过一个类似的使用示例,主要使用如下三个节点组成的一个flow:

  • 数字数组节点:
    使用JSON数组类型,内容为[1,2,3,4,5],一个包含五个元素的数字数组
  • 拆分数组元素节点:split类型,缺省设定
  • 结果显示节点:Debug类型,缺省设定

执行结果

执行部署并手工触发,执行结果如下所示,可以看到结果的输出基本在同一时间内执行完毕:

限速使用示例

同样使用这个flow,我们在拆分和结果显示之间添加一个限速器(trigger),flow修改为如下:

限速器的详细设定如下所示:

执行结果

执行部署并手工触发,执行结果如下所示,可以看到拆分后的元素按照每秒一个的速度进行显示:

JSON格式的flow

[{"id":"3ea13cf4.f55564","type":"inject","z":"73554227.4474dc","name":"数字数组","topic":"","payload":"[1,2,3,4,5]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":160,"wires":[["beb988fe.cf5fb8"]]},{"id":"beb988fe.cf5fb8","type":"split","z":"73554227.4474dc","name":"拆分数组元素","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":340,"y":160,"wires":[["84cc4c2b.45a6c"]]},{"id":"c027e9ef.fe1f38","type":"debug","z":"73554227.4474dc","name":"结果显示","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":720,"y":160,"wires":[]},{"id":"84cc4c2b.45a6c","type":"delay","z":"73554227.4474dc","name":"限速器","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":550,"y":160,"wires":[["c027e9ef.fe1f38"]]}]
  • 点赞
  • 收藏
  • 分享
  • 文章举报
liumiaocn 博客专家 发布了1133 篇原创文章 · 获赞 1354 · 访问量 410万+ 他的留言板 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: