天行有常,不为尧存,不为桀亡。——荀子《天论》
任务通道和接口通道有些不同,是因为任务通道多了两个组件:JobIncome/JobOutcome
,而本文重点讲解这两个组件在任务开发过程中的数据流位置,以及如何和主通道通信。
任务通道比主通道的结构要简单很多,它的整体结构如下:
那么JobIncome
和JobOutcome
是干什么的呢?任务通道属于主动通道,也就是说在开发过程中,它不会通过前端的任何请求来触发(ONCE类除外),而是系统在后台主动执行。
任务架构主要来自于zero
框架本身,参考下图查看任务执行流程:
任务通道中定制的就是JobIncome
和JobOutcome
组件,这两个组件执行于核心组件的前置和后置,整理起来任务执行流程如下:
incomeAddress
中消费输入数据作为初始输入。incomeComponent
组件中执行。serviceComponent
,该组件运行时,会配合通道 + 插件结构,包括映射管理器、标识选择器等。outcomeComponent
组件中执行。outcomeAddress
地址上。@Off
方法来执行outcomeAddress
上的回调操作,该操作不可配置,只能通过编码方式来处理,在Origin X
中没有使用这步操作。