Skip to content

SubEvent ​

SubEvent是由一个Event在处理过程中派发的独立子Event。

subEvent和普通Event的差异仅包括:

  • 存在parentId记录父Event ID
  • 不继承,也不能设置scope与blockedBy

其余内容和普通Event无异。

接口 ​

Pipeline通过SubEventSpec描述要派发的子Event:

ts
interface SubEventSpec {
  pipelineName: string
  payload: unknown
}

派发方式 ​

NACEB提供两个内建TaskHandler派发SubEvent:

$fire4SubEvent$wait4SubEvent
父Pipeline立即继续等待子Event终局
Task结果{ childId }子Event的终局结果
子Event消费自动消费由父Task消费
子Event失败不影响父Event使父Task进入failure

两者都会创建子Event、写入parentId并自动调用start()。

区别仅在父Event的Pipeline是否等待子Event结果。

使用 ​

ts
next() {
  return {
    task: '$fire4SubEvent',
    input: {
      pipelineName: 'child-pipeline',
      payload: { value: 1 },
    },
  }
}

Released under the MIT License.