# 开发作业流流程控制示例
本示例主要介绍作业流中的控制类组件(Dependent、Switch、Conditions)的需求场景。
主要步骤如下:
本示例创建作业流模型如下图

# 新建作业
在【集成作业】-【数据集成】节点下,创建转换作业“DI-var",保存并提交,模型配置如下图。



在【程序】-【Shell程序】节点下,创建shell程序4个,保存并提交。




# 新建作业流
- 点击资源树"作业流"节点上的【...】,选择弹出菜单【新建作业流】,填写"作业流名称",点击【确定】按钮。

2.新建作业流flow-sh1,引用作业sh1,保存并提交作业流。

新建作业流
flow-controller,在通用配置中,分别设置全局参数:tableName,默认值空;var1,默认值A。作业流中的全局参数,在运行时会传递给所有作业节点,其中转换作业DI-var会使用tableName参数,Switch组件会使用var1参数。

分别拖拽以下组件:
【子作业流】组件引用
flow-sh1
【Dependent】组件,设置依赖条件为
flow-sh1组件中的sh1作业当天执行成功。
【Switch】组件,后面接两个下游组件,分别为【转换】组件引用
DI-var,【Shell程序】引用sh4。Switch组件设置条件判断:${var1}=="A"时,执行DI-var;${var1}=="B"时,执行sh4。
DI-var执行成功时,执行sh2【Conditions】组件,上游设置为DI-var,下游接组件【Shell程序】引用sh2和【Shell程序】引用sh3。当DI-var执行失败时,执行sh3。
保存作业流
flow-controller并提交。
# 调度运行
在【作业调度】-【作业流管理】页面,分别点击
flow-controller和flow-sh1的【上线】操作。点击
flow-controller的【运行】按钮,- 运行配置页面参数保持默认,运行结果如下


运行配置页面参数,修改
tableName参数值为存在的表,如orderinfo,运行结果如下

运行配置页面参数,修改
tableName参数值为存在的表,如orderinfo,运行结果如下
