2. 项目管理

2.1 创建项目

  • 点击”项目管理”进入项目管理页面,点击“创建项目”按钮,输入项目名称,项目描述,点击“提交”,创建新的项目。

    2. 项目管理 - 图1

2.2 项目首页

  • 在项目管理页面点击项目名称链接,进入项目首页,如下图所示,项目首页包含该项目的任务状态统计、流程状态统计、工作流定义统计。

    2. 项目管理 - 图2

  • 任务状态统计:在指定时间范围内,统计任务实例中状态为提交成功、正在运行、准备暂停、暂停、准备停止、停止、失败、成功、需要容错、kill、等待线程的个数

  • 流程状态统计:在指定时间范围内,统计工作流实例中状态为提交成功、正在运行、准备暂停、暂停、准备停止、停止、失败、成功、需要容错、kill、等待线程的个数

  • 工作流定义统计:统计用户创建的工作流定义及管理员授予该用户的工作流定义

2.3 工作流定义

2.3.1 创建工作流定义

  • 点击项目管理->工作流->工作流定义,进入工作流定义页面,点击“创建工作流”按钮,进入工作流DAG编辑页面,如下图所示:

    2. 项目管理 - 图3

  • 工具栏中拖拽2. 项目管理 - 图4到画板中,新增一个Shell任务,如下图所示:

    2. 项目管理 - 图5

  • 添加shell任务的参数设置:

  1. 填写“节点名称”,“描述”,“脚本”字段;
  2. “运行标志”勾选“正常”,若勾选“禁止执行”,运行工作流不会执行该任务;
  3. 选择“任务优先级”:当worker线程数不足时,级别高的任务在执行队列中会优先执行,相同优先级的任务按照先进先出的顺序执行;
  4. 超时告警(非必选):勾选超时告警、超时失败,填写“超时时长”,当任务执行时间超过超时时长,会发送告警邮件并且任务超时失败;
  5. 资源(非必选)。资源文件是资源中心->文件管理页面创建或上传的文件,如文件名为test.sh,脚本中调用资源命令为sh test.sh
  6. 自定义参数(非必填),参考自定义参数
  7. 点击”确认添加”按钮,保存任务设置。
  • 增加任务执行的先后顺序: 点击右上角图标2. 项目管理 - 图6连接任务;如下图所示,任务2和任务3并行执行,当任务1执行完,任务2、3会同时执行。

    2. 项目管理 - 图7

  • 删除依赖关系: 点击右上角”箭头”图标2. 项目管理 - 图8,选中连接线,点击右上角”删除”图标2. 项目管理 - 图9,删除任务间的依赖关系。

    2. 项目管理 - 图10

  • 保存工作流定义: 点击”保存“按钮,弹出”设置DAG图名称”弹框,如下图所示,输入工作流定义名称,工作流定义描述,设置全局参数(选填,参考自定义参数),点击”添加”按钮,工作流定义创建成功。

    2. 项目管理 - 图11

其他类型任务,请参考 任务节点类型和参数设置

2.3.2 工作流定义操作功能

点击项目管理->工作流->工作流定义,进入工作流定义页面,如下图所示:

2. 项目管理 - 图12

工作流定义列表的操作功能如下:

  • 编辑: 只能编辑”下线”的工作流定义。工作流DAG编辑同创建工作流定义
  • 上线: 工作流状态为”下线”时,上线工作流,只有”上线”状态的工作流能运行,但不能编辑。
  • 下线: 工作流状态为”上线”时,下线工作流,下线状态的工作流可以编辑,但不能运行。
  • 运行: 只有上线的工作流能运行。运行操作步骤见2.3.3 运行工作流
  • 定时: 只有上线的工作流能设置定时,系统自动定时调度工作流运行。创建定时后的状态为”下线”,需在定时管理页面上线定时才生效。定时操作步骤见2.3.4 工作流定时
  • 定时管理: 定时管理页面可编辑、上线/下线、删除定时。
  • 删除: 删除工作流定义。
  • 下载: 下载工作流定义到本地。
  • 树形图: 以树形结构展示任务节点的类型及任务状态,如下图所示:

    2. 项目管理 - 图13

2.3.3 运行工作流

  • 点击项目管理->工作流->工作流定义,进入工作流定义页面,如下图所示,点击”上线”按钮2. 项目管理 - 图14,上线工作流。

    2. 项目管理 - 图15

  • 点击”运行“按钮,弹出启动参数设置弹框,如下图所示,设置启动参数,点击弹框中的”运行”按钮,工作流开始运行,工作流实例页面生成一条工作流实例。

    2. 项目管理 - 图16

工作流运行参数说明:

  1. * 失败策略:当某一个任务节点执行失败时,其他并行的任务节点需要执行的策略。”继续“表示:某一任务失败后,其他任务节点正常执行;”结束“表示:终止所有正在执行的任务,并终止整个流程。
  2. * 通知策略:当流程结束,根据流程状态发送流程执行信息通知邮件,包含任何状态都不发,成功发,失败发,成功或失败都发。
  3. * 流程优先级:流程运行的优先级,分五个等级:最高(HIGHEST),高(HIGH),中(MEDIUM),低(LOW),最低(LOWEST)。当master线程数不足时,级别高的流程在执行队列中会优先执行,相同优先级的流程按照先进先出的顺序执行。
  4. * worker分组:该流程只能在指定的worker机器组里执行。默认是Default,可以在任一worker上执行。
  5. * 通知组:选择通知策略||超时报警||发生容错时,会发送流程信息或邮件到通知组里的所有成员。
  6. * 收件人:选择通知策略||超时报警||发生容错时,会发送流程信息或告警邮件到收件人列表。
  7. * 抄送人:选择通知策略||超时报警||发生容错时,会抄送流程信息或告警邮件到抄送人列表。
  8. * 补数:包括串行补数、并行补数2种模式。串行补数:指定时间范围内,从开始日期至结束日期依次执行补数,只生成一条流程实例;并行补数:指定时间范围内,多天同时进行补数,生成N条流程实例。
  • 补数: 执行指定日期的工作流定义,可以选择补数时间范围(目前只支持针对连续的天进行补数),比如需要补5月1号到5月10号的数据,如下图所示:

    2. 项目管理 - 图17

    串行模式:补数从5月1号到5月10号依次执行,流程实例页面生成一条流程实例;

    并行模式:同时执行5月1号到5月10号的任务,流程实例页面生成十条流程实例。

2.3.4 工作流定时

  • 创建定时:点击项目管理->工作流->工作流定义,进入工作流定义页面,上线工作流,点击”定时”按钮2. 项目管理 - 图18,弹出定时参数设置弹框,如下图所示:

    2. 项目管理 - 图19

  • 选择起止时间。在起止时间范围内,定时运行工作流;不在起止时间范围内,不再产生定时工作流实例。

  • 添加一个每天凌晨5点执行一次的定时,如下图所示:

    2. 项目管理 - 图20

  • 失败策略、通知策略、流程优先级、Worker分组、通知组、收件人、抄送人同工作流运行参数

  • 点击”创建”按钮,创建定时成功,此时定时状态为”下线“,定时需上线才生效。
  • 定时上线:点击”定时管理”按钮2. 项目管理 - 图21,进入定时管理页面,点击”上线”按钮,定时状态变为”上线”,如下图所示,工作流定时生效。

    2. 项目管理 - 图22

2.3.5 导入工作流

点击项目管理->工作流->工作流定义,进入工作流定义页面,点击”导入工作流”按钮,导入本地工作流文件,工作流定义列表显示导入的工作流,状态为下线。

2.4 工作流实例

2.4.1 查看工作流实例

  • 点击项目管理->工作流->工作流实例,进入工作流实例页面,如下图所示:

    2. 项目管理 - 图23

  • 点击工作流名称,进入DAG查看页面,查看任务执行状态,如下图所示。

    2. 项目管理 - 图24

2.4.2 查看任务日志

  • 进入工作流实例页面,点击工作流名称,进入DAG查看页面,双击任务节点,如下图所示:

    2. 项目管理 - 图25

  • 点击”查看日志”,弹出日志弹框,如下图所示,任务实例页面也可查看任务日志,参考任务查看日志

    2. 项目管理 - 图26

2.4.3 查看任务历史记录

  • 点击项目管理->工作流->工作流实例,进入工作流实例页面,点击工作流名称,进入工作流DAG页面;
  • 双击任务节点,如下图所示,点击”查看历史”,跳转到任务实例页面,并展示该工作流实例运行的任务实例列表

    2. 项目管理 - 图27

2.4.4 查看运行参数

  • 点击项目管理->工作流->工作流实例,进入工作流实例页面,点击工作流名称,进入工作流DAG页面;
  • 点击左上角图标2. 项目管理 - 图28,查看工作流实例的启动参数;点击图标2. 项目管理 - 图29,查看工作流实例的全局参数和局部参数,如下图所示:

    2. 项目管理 - 图30

2.4.4 工作流实例操作功能

点击项目管理->工作流->工作流实例,进入工作流实例页面,如下图所示:

2. 项目管理 - 图31

  • 编辑: 只能编辑已终止的流程。点击”编辑”按钮或工作流实例名称进入DAG编辑页面,编辑后点击”保存”按钮,弹出保存DAG弹框,如下图所示,在弹框中勾选”是否更新到工作流定义”,保存后则更新工作流定义;若不勾选,则不更新工作流定义。

    2. 项目管理 - 图32

  • 重跑: 重新执行已经终止的流程。

  • 恢复失败: 针对失败的流程,可以执行恢复失败操作,从失败的节点开始执行。
  • 停止: 对正在运行的流程进行停止操作,后台会先killworker进程,再执行kill -9操作
  • 暂停: 对正在运行的流程进行暂停操作,系统状态变为等待执行,会等待正在执行的任务结束,暂停下一个要执行的任务。
  • 恢复暂停: 对暂停的流程恢复,直接从暂停的节点开始运行
  • 删除: 删除工作流实例及工作流实例下的任务实例
  • 甘特图: Gantt图纵轴是某个工作流实例下的任务实例的拓扑排序,横轴是任务实例的运行时间,如图示:

    2. 项目管理 - 图33

2.5 任务实例

  • 点击项目管理->工作流->任务实例,进入任务实例页面,如下图所示,点击工作流实例名称,可跳转到工作流实例DAG图查看任务状态。

    2. 项目管理 - 图34

  • 查看日志:点击操作列中的“查看日志”按钮,可以查看任务执行的日志情况。

    2. 项目管理 - 图35