跳到主要内容

私域接口

工作端 Worker 内置的私域接口说明,包含支持的所有事件类型及对应的调用逻辑,每个事件类型对应一个内部 API 接口,调用方法参考事件规范部分文档的【内部事件调用接口】

注意:

  • 私域接口仅通过自定义的 RPC 调用使用,不对外暴露。
  • 默认分割符号为 constant.SPLIT_CHAR。
  • TemporaryData 返回的是临时数据,会在请求结束后被回收释放,全局对象,要注意生命周期的管理。

通用接口

1. 检查节点是否注册

属性参数
事件类型G_T_W_CHECK_WORKER
描述检查工作节点是否注册
请求参数string 多个 WorkerID,用分隔符连接
返回gnetx.ResponseMessage,TemporaryData 返回值为 WorkerCheckResult JSON 数组,包含每个 WorkerID 的注册状态及负载率信息
type WorkerCheckResult struct {
WorkerId string `json:"wid"`
Exist bool `json:"exist"`
LoadRate float64 `json:"load_rate"`
}

2. 负载率查询

属性参数
事件类型G_T_W_GET_LOADE_RATE
描述获取当前工作节点的系统负载率(如 CPU、内存、连接数等指标)
请求参数
返回gnetx.ResponseMessage,TemporaryData 字段包含总和负载率

计算系统的综合负载率,规则如下:

  1. 基础校验

    • 如果数据为空或无效,直接返回 0%负载
  2. 阈值熔断

    • 如果 CPU 或内存的平均使用率 ≥98%,直接返回 100%负载
    • 如果最新磁盘使用率 ≥ 阈值(如 98%),也返回 100%负载
  3. 综合计算

    • 若未触发熔断,则计算 CPU 和内存的平均使用率,取两者的平均值作为最终负载率(例如 CPU 均 80%、内存均 60% → 综合负载率 70%)

3. 规则引擎更新通知

属性参数
事件类型G_T_W_RULE_UPDATE
描述业务规则引擎更新通知,通知工作节点更新规则
请求参数RuleUpdateParam JSON 对象
返回gnetx.ResponseMessage,Status 表示更新成功与否
type RuleUpdateParam struct {
Rules []core.BusinessRules `json:"rules"` // 要更新的规则列表
EntityVersionLabel string `json:"entity_version_label"` // 实体版本标签
}

4. 共享配置变更通知

属性参数
事件类型G_T_W_SHARED_CONFIGURE_CHANGE
描述全局共享配置变更通知
请求参数core.SharedConfigure JSON 对象,event-matrix/core/constant.go
返回gnetx.ResponseMessage,Status 表示是否通知成功

5. 实体数据查询

属性参数
事件类型G_T_W_ENTITY_LIST_FOR_DATA_MGR
描述向后台管理模块提供实体的数据查询
请求参数EntityRecordForDataMgrParam JSON 对象
返回gnetx.ResponseMessage,Data 字段包含实体列表及分页信息
type EntityRecordForDataMgrParam struct {
Endpoint string `json:"endpoint"`
Project string `json:"project"`
Context string `json:"context"`
Entity string `json:"entity"`
Version string `json:"version"`
SearchField string `json:"searchField"`
SearchValue string `json:"searchValue"`
Deleted bool `json:"deleted"`
Page int `json:"page"`
Size int `json:"pageSize"`
}

6. 实体数据修改

属性参数
事件类型G_T_W_UPDATE_RECORD_FOR_DATA_MGR
描述向后台管理模块提供实体的数据修改,只有 root 用户可以操作,一般用在紧急修改系统数据,由于脱离实际业务逻辑,这是非常敏感的数据接口,通过 worker 的配置项not_accept_update_record_event_from_gateway 关闭该操作
请求参数UpdateRecordForDataMgrParam JSON 对象
返回gnetx.ResponseMessage,Status 表示更新结果,Data 含最新版本号
type UpdateRecordForDataMgrParam struct {
Endpoint string `json:"endpoint"`
Project string `json:"project"`
Context string `json:"context"`
Entity string `json:"entity"`
RecordId string `json:"recordId"`
FieldCode string `json:"fieldCode"`
NewValue string `json:"newValue"`
VersionLabel string `json:"versionLabel"`
}

7. 领域数据缓存重置

属性参数
事件类型G_T_W_RESET_DOMAIN_CACHE
描述对应 worker 中的所有实体、事件、属性缓存全部重置,一般只在开发阶段,由后台操作触发
请求参数
返回gnetx.ResponseMessage,Status 标识缓存是否已清空/刷新。

日志插件接口

插件是指内置服务的 Worker,大于 30000 的内部事件类型都视为内置服务,包括:日志收集中心,任务调度中心,AI 代理助手等。

1. 运行日志提交

属性参数
事件类型GW_T_W_RUNTIME_LOG_SUBMIT
描述提交运行日志
请求参数LogEntry 数组对象
返回gnetx.ResponseMessage,Status 表示提交结果
// LogEntry 表示一条日志记录的结构
// 用于存储日志的基本信息,支持JSON序列化和数据库存储
type LogEntry struct {
ID string `json:"id" gorm:"index"` // 日志唯一标识
Level string `json:"level" gorm:"index"` // 日志级别
Caller string `json:"caller"` // 调用者信息
Msg string `json:"msg"` // 日志消息内容
CreatedAt int64 `json:"createdAt"` // 创建时间戳
Creator string `json:"creator"` // 创建者标识
}

2. 事件日志提交

属性参数
事件类型GW_T_W_EVENT_LOG_SUBMIT
描述提交事件日志
请求参数LogEntry 数组对象
返回gnetx.ResponseMessage,Status 表示提交结果

3. 日志查询

属性参数
事件类型G_T_W_LOG_CENTER_QUERY
描述查询日志
请求参数LogListParam 查询对象
返回gnetx.ResponseMessage,TemporaryData 为 JsonResponse 对象,包含日志列表及分页信息
type LogListParam struct {
LogType string `json:"logType"`
SearchField string `json:"searchField"`
SearchValue string `json:"searchValue"`
Page int `json:"page"`
Size int `json:"size"`
}

任务插件接口

任务调度中心是一个内置服务,用于管理和调度系统中的任务事件。

1. 任务提交

属性参数
事件类型GW_T_W_TASK_CENTER_ADD_TASK
描述提交任务
请求参数Task 任务对象
返回gnetx.ResponseMessage,TemporaryData 为 JsonResponse 对象,包含任务列表及分页信息
// Task 表示系统中的任务对象,用于跟踪和管理事件的执行
type Task struct {
// ID 任务的唯一标识符
ID string `gorm:"primaryKey" json:"id"`
// EventID 关联的事件ID
EventID string `gorm:"index" json:"eventId"`
// EventLabel 事件标签,用于快速识别事件类型
EventLabel string `gorm:"index" json:"eventLabel"`
// Event 事件内容,JSON格式字符串
Event string `json:"event"`
// Status 任务状态
Status TaskStatus `gorm:"index" json:"status"`
// Retries 重试次数
Retries int `json:"retries"`
// ExecServer 执行任务的服务器ID
ExecServer string `json:"execServer"`
// CreatedAt 创建时间戳
CreatedAt int64 `json:"createdAt"`
// ExecuteAt 计划执行时间戳
ExecuteAt int64 `json:"executeAt" gorm:"index"`
// UpdatedAt 更新时间戳
UpdatedAt int64 `json:"updatedAt"`
}

2. 任务查询

属性参数
事件类型G_T_W_TASK_CENTER_QUERY
描述查询任务
请求参数TaskListParams 查询对象
返回gnetx.ResponseMessage,TemporaryData 为 JsonResponse 对象,包含任务列表及分页信息
type TaskListParams struct {
Page int `json:"page"`
Size int `json:"size"`
SearchField string `json:"searchField"`
SearchValue string `json:"searchValue"`
}

AI 助手插件

AI 助手是一个内置服务,用于管理和调度系统中的 AI 任务事件。

1. Ping 查询

属性参数
事件类型G_T_W_AI_ASSISTANT_PING
描述查询 AI 配置是否可用
请求参数string 由多个 AI 配置 key+constant.SPLIT_CHAR 连接组成
返回gnetx.ResponseMessage,TemporaryData 为 map[string]bool 对象,包含 AI 助手的状态信息

2. AI 单轮对话

属性参数
事件类型G_T_W_AI_ASSISTANT_CHAT_STRING
描述单轮阻塞对话
请求参数AskParams 对话对象
返回gnetx.ResponseMessage,TemporaryData 为 string 对象,包含对话结果输出
type AskParams struct {
AssistantId string `json:"assistantId"` // AI助手的ID
SystemPrompt string `json:"systemPrompt"` // 系统提示信息,指导AI助手的行为
RolePrompt string `json:"rolePrompt"` // 角色提示信息,指定用户和AI助手的角色
Temperature float32 `json:"temperature"` // 温度参数,控制生成文本的随机性
}