私域接口
工作端 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 字段包含总和负载率 |
计算系统的综合负载率,规则如下:
-
基础校验
- 如果数据为空或无效,直接返回 0%负载
-
阈值熔断
- 如果 CPU 或内存的平均使用率 ≥98%,直接返回 100%负载
- 如果最新磁盘使用率 ≥ 阈值(如 98%),也返回 100%负载
-
综合计算
- 若未触发熔断,则计算 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"` // 温度参数,控制生成文本的随机性
}