博客
关于我
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
阅读量:798 次
发布时间:2023-02-16

本文共 2139 字,大约阅读时间需要 7 分钟。

Node-RED周期性执行配置示例

Node-RED是一种流程自动化工具,能够帮助开发者快速构建和部署自动化解决方案。其中,inject节点是一项强大的工具,能够配置周期性执行功能,适用于需要定时触发任务的场景。以下将从配置示例入手,详细讲解如何在Node-RED中实现周期性执行。

配置说明

inject节点的核心配置参数包括:

  • repeat:决定是否重复触发节点,true表示周期性执行,false则只执行一次。
  • crontab:配置定时触发规则,支持Linux的crontab格式。
  • once:设置是否仅执行一次。
  • onceDelay:在第一次执行后延迟触发。
  • 示例一:简单的周期性执行

    以下是一个简单的周期性执行配置示例:

    {  "id": "71107f63.c2686",  "type": "inject",  "z": "f8f370d9.7ccc3",  "name": "",  "props": [    {      "p": "payload"    },    {      "p": "topic",      "vt": "str"    }  ],  "repeat": "2",  "crontab": "",  "once": false,  "onceDelay": 0.1,  "topic": "",  "payload": "",  "payloadType": "date",  "x": 190,  "y": 280,  "wires": [    ["6866ece6.3b1964"]  ]}

    该配置表示每2次执行一次任务,crontab字段为空时,默认使用*/1 * * * *,即每秒执行一次。

    示例二:指定时间阶段执行

    如果需要在特定时间段内执行任务,可以通过crontab字段设置小时、分钟、秒等时间字段。例如,以下配置将任务定在每天的上午9点至11点之间执行:

    {  "id": "2ee46c27fe222be5",  "type": "inject",  "z": "4bc32962b964d23d",  "name": "",  "props": [    {      "p": "payload"    },    {      "p": "topic",      "vt": "str"    }  ],  "repeat": "",  "crontab": "*/1 0 * * 1,3,5",  "once": false,  "onceDelay": 0.1,  "topic": "",  "payloadType": "date",  "x": 190,  "y": 360,  "wires": [    ["26092280afbca76a"]  ]}

    需要注意的是,crontab格式与Linux cron表达式一致,具体格式为:

    分钟 分钟 小时 天 日_of_month 月 day_of_week

    例如,*/1 0 * * 1,3,5表示每分钟执行一次,限定在星期一、星期三和星期五的上午9点。

    示例三:指定时间执行

    如果需要在特定时间执行任务,可以将crontab设置为固定时间。例如,以下配置将任务定在每天的12点执行:

    {  "id": "9e4a370a93991fdc",  "type": "inject",  "z": "4bc32962b964d23d",  "name": "",  "props": [    {      "p": "payload"    },    {      "p": "topic",      "vt": "str"    }  ],  "repeat": "",  "crontab": "00 12 * * 1",  "once": false,  "onceDelay": 0.1,  "topic": "",  "payloadType": "date",  "x": 190,  "y": 500,  "wires": [    ["4af3067548fcc9f6"]  ]}

    crontab设置为00 12 * * 1,表示每天的上午12点执行一次任务。

    注意事项

  • repeatcrontab的综合使用repeatcrontab可以结合使用。repeat用于控制执行频率(如每秒、每分钟),而crontab则用于指定具体的时间点。例如,crontab="*/5 * * * *"表示每5秒执行一次,且在每秒内都执行一次。

  • once参数:如果需要仅执行一次,可以设置once=true。此时repeat参数将被忽略。

  • onceDelay参数onceDelay用于在第一次执行后延迟触发,通常用于防止频繁触发节点带来的性能负担。

  • topic参数topic用于指定节点的输出主题,主要用于节点间通信。如果不需要子节点订阅,可以设置为空字符串。

  • 通过以上配置示例,可以轻松实现Node-RED中的周期性执行功能。在实际应用中,可以根据具体需求灵活配置crontabrepeat参数,满足不同的自动化场景需求。

    转载地址:http://fsjfk.baihongyu.com/

    你可能感兴趣的文章
    Node 裁切图片的方法
    查看>>
    Node+Express连接mysql实现增删改查
    查看>>
    node, nvm, npm,pnpm,以前简单的前端环境为什么越来越复杂
    查看>>
    Node-RED中Button按钮组件和TextInput文字输入组件的使用
    查看>>
    Node-RED中Switch开关和Dropdown选择组件的使用
    查看>>
    Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用node-red-contrib-image-output节点实现图片预览
    查看>>
    Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中使用range范围节点实现从一个范围对应至另一个范围
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
    查看>>
    Node-RED中建立TCP服务端和客户端
    查看>>
    Node-RED中建立Websocket客户端连接
    查看>>
    Node-RED中建立静态网页和动态网页内容
    查看>>
    Node-RED中解析高德地图天气api的json数据显示天气仪表盘
    查看>>