
# Sub Job
#### 功能
通过Sub Job节点可以调用另外一个批处理作业。
#### 参数
用户可参考[表1]和[表2]配置Sub Job节点的参数。
 表1属性参数 
| 参数      | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| 节点名称    | 是    | 节点名称，可以包含中文、英文字母、数字、"_"、"-"、"/"、"\<"、"\>"等各类特殊字符，长度为1～128个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 子作业名称   | 是    | 选择需要调用的子作业名称。 说明： 您只能选择已存在的批处理作业名称，此批处理作业不能为作业本身，并且该批处理作业为不包含Sub Job节点的作业。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 子作业参数名称 | 是/否  | - 当节点属性中子作业参数配置为空时，子作业使用自身参数变量执行。父作业的"子作业参数名称"不显现。  - 当节点属性中子作业参数配置了数据时，子作业将使用配置参数变量执行。此时父作业的"子作业参数名称"显现，并且节点属性中子作业参数配置的数据或者EL表达式，将根据父作业的环境变量读取替换。 说明： 使用**Subjob算子** 时，如果要把前一个SQL节点的执行结果传给子作业时，则子作业参数的表达式应为：#{StringUtil.split(StringUtil.split(StringUtil.split(Job.getNodeOutput("***前一节点名*** "),"\]")\[0\],"\[")\[0\],"**\\**"")\[0\]}，否则会执行报错。    |
   
 表2高级参数 
| 参数               | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| 节点状态轮询时间（秒）      | 是    | 设置轮询时间（1\~60秒），每隔x秒查询一次节点是否执行完成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 节点执行的最长时间        | 是    | 设置节点执行的超时时间，如果节点配置了重试，在超时时间内未执行完成，该节点将会再次重试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 失败重试             | 是    | 节点执行失败后，是否重新执行节点。 - 是：重新执行节点，请配置以下参数。 - 超时重试  - 最大重试次数  - 重试间隔时间（秒）    - 否：默认值，不重新执行节点。 说明： 如果作业节点配置了重试，并且配置了超时时间，该节点执行超时后，系统支持再重试。 当节点运行超时导致的失败不会重试时，您可前往"默认项设置"修改此策略。 当"失败重试"配置为"是"才显示"超时重试"。    |
| 当前节点失败后，后续节点处理策略 | 是    | 节点执行失败后的操作： - 终止后续节点执行计划：停止后续节点的运行，当前作业实例状态显示为"失败"。  - 终止当前作业执行计划：停止当前作业运行，当前作业实例状态显示为"失败"。  - 继续执行下一节点：忽略当前节点失败，当前作业实例状态显示为"忽略失败"。  - 挂起当前作业执行计划：当前作业实例的状态为运行异常，该节点的后续节点以及依赖于当前作业的后续作业实例都会处于等待运行状态。                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 是否空跑             | 否    | 如果勾选了空跑，该节点不会实际执行，将直接返回成功。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 任务组              | 否    | 选择任务组。任务组配置好后，可以更细粒度地进行当前任务组中的作业节点的并发数控制，比如作业中包含多个节点、补数据、重跑等场景。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
