博客
关于我
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
阅读量:802 次
发布时间: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/

    你可能感兴趣的文章
    Nginx的使用总结(一)
    查看>>
    Nginx的是什么?干什么用的?
    查看>>
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡器处理session共享的几种方法(转)
    查看>>
    nginx负载均衡的5种策略(转载)
    查看>>
    nginx负载均衡的五种算法
    查看>>
    Nginx配置ssl实现https
    查看>>
    Nginx配置TCP代理指南
    查看>>
    Nginx配置代理解决本地html进行ajax请求接口跨域问题
    查看>>
    Nginx配置参数中文说明
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    NI笔试——大数加法
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>