RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

    • 标准组件概述
    • 过滤器

    • 动作

      • 记录日志
      • 函数处理
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
        • 应用示例
        • config.Udf和functions自定义函数区别
      • 延迟
      • 节点组
      • 迭代器
      • 遍历
      • 命令
      • 汇聚
    • 转换器

    • 外部的

    • 流

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

函数处理

functions组件:执行自定义处理函数。用于轻量级自定义组件实现,让你的Golang自定义函数秒变组件。支持通过${metadataKey}方式从metadata动态获取函数名称值。

使用该组件之前必须使用以下方法注册自定义处理函数,默认框架不提供任何处理函数。

action.Functions.Register(functionName string, f func(ctx types.RuleContext, msg types.RuleMsg))
1

函数处理成功,必须使用以下方法通知规则引擎已成功处理:

//TellSuccess 通知规则引擎处理当前消息处理成功,并把消息通过`Success`关系发送到下一个节点
ctx.TellSuccess(msg RuleMsg)
//TellNext 使用指定的relationTypes,发送消息到下一个节点
ctx.TellNext(msg RuleMsg, relationTypes ...string)
1
2
3
4

如果消息处理失败函数,实现必须调用tellFailure方法:

//TellFailure 通知规则引擎处理当前消息处理失败,并把消息通过`Failure`关系发送到下一个节点
ctx.TellFailure(msg RuleMsg, err error)
1
2
  • ctx:上下文
  • msg:上一节点传入的msg

# 配置

字段 类型 说明 默认值
functionName string 调用的函数名称。可以使用组件配置变量 动态指定函数名 无

# Relation Type

函数自定义

# 执行结果

函数自定义

# 配置示例

{
  "id": "s1",
  "type": "functions",
  "name": "调用函数1",
  "configuration": {
    "functionName": "handleMsg"
  }
}
1
2
3
4
5
6
7
8

# 应用示例

示例参考:示例 (opens new window)

# config.Udf和functions自定义函数区别

  • config.Udf :js脚本运行时调用的自定义函数,函数没固定参数和返回值。
  • functions :functions节点通过配置函数名调用的自定义函数,函数必须是该类型:func(ctx types.RuleContext, msg types.RuleMsg)。
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
记录日志
延迟

← 记录日志 延迟→

Theme by Vdoing | Copyright © 2023-2025 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式