# 调度管理

调度管理(计划任务)负责将系统中的大量的数据加工模型定时执行并提取到最新状态。调度管理可以自动识别各加工模型间的依赖关系,智能的安排调度的并发和先后次序,尽量在最短的时间窗口内将模型数据提取完成。

# 计划管理

一个计划表示一个定时执行的“批次”,计划内包含了一批任务,当计划设定的时间条件触发时系统将会开始调度计划并执行计划内的任务。

# 增删计划

  1. 新建计划:在计划页面,点击新建,在弹出的添加计划对话框设置相关属性后,点击确认按钮
  2. 删除计划:勾选计划,点击左上角的删除按钮,需要注意的是计划被删除后,不能撤销

新建计划

计划可以设置如下属性:

  • 启用:默认勾选,表示计划创建后系统会开始按时间设定进行调度,如果希望创建的计划先不要开始定时调度,那么可以取消勾选
  • 名称:计划的名称
  • 类型:计划中可以添加哪些类型的任务,可选数据提取、订阅、数据检测,订阅类任务和数据提取类任务不能共存于一个计划
  • 优先级:每个任务的默认优先级,优先级范围是0~100,任务可以有各自不同的优先级。若不考虑依赖关系,优先级高的任务将总是优先执行
  • 并行执行:默认为串行,表示计划内多个任务间的执行关系,是并行还是串行,若为并行,还需要输入并行度,即并行的任务的个数,建议参考服务器性能设置
  • 时间设置:计划自动执行的时间,系统提供了如下图所示丰富的时间选项,可以选择执行一次,或者间隔固定时间执行,以及自定义设置
  • 失败重试:当计划中的任务执行失败,是否可以再次重试,以及重试的次数、失败重试间隔时间(分钟)
  • 指定集群节点:集群环境下,指定计划在选择的节点列表上执行,系统将按照列表顺序选择第一个可用的节点执行,如果选择的节点都不可用,则计划不会执行;系统提供了可视化页面查看集群节点的状态,参考集群状态
  • 通知:计划执行完成后是否通知用户,可选择不通知、总是通知或者出错时通知
  • 通知用户:计划通知的用户,通知用户支持输入用户的ID,邮箱地址或者手机号码,用户将在计划执行完成后收到系统的邮件,使用通知功能前,需要在外部服务配置好邮件服务器

TIP

短信平台为避免垃圾短信的泛滥,对自定义短信内容作出了限制,计划通知功能暂时不提供短信通知服务。

# 执行计划

勾选计划,点击左上角的立即执行按钮,即可执行勾选的计划。查看计划的执行进度有两种方式:

  1. 在计划列表上的最近执行状态中查看执行进度
  2. 最新日志界面可以查看计划执行的进度日志

执行计划

计划支持在指定的集群节点上执行,常用于控制节点间的负载均衡,可以按照节点的执行能力强弱分配计划,在新增计划界面,在指定集群节点属性可以设置计划在指定节点上执行,执行结束后,在所有日志页面,点击日志按钮,可以查看计划实际执行的节点。

验证实际执行节点

WARNING

为了确保数据的一致性,计划不能多人同时执行,因此无法执行处于正在执行状态的计划,同时系统也会出现警告:“选中的计划全部正在执行!”

# 批量启用和停用计划

运维升级时需要停用启用计划,当计划很多时一个个点进去操作很麻烦,可以勾选多个计划,批量的启用或者停用计划,操作如下:

  1. 计划页面勾选需要启用或者停用的计划
  2. 点击工具栏的启用或者停用按钮

停用计划

WARNING

  1. 为了确保计划调度的稳定性,停用计划不会取消正在执行的计划,当正在执行的计划完成后,才会被停用
  2. 批量停用时,如果选择的计划包括已经停用的计划,点击停用时会自动排除该计划,启用时选择了已经启用的计划也是一样

# 中止计划

勾选正在执行的计划,点击左上角的中止按钮,系统会取消计划中还未开始的任务,停止正在执行的任务,对于已经执行完成的任务不会回滚。

# 计划内的任务管理

任务是计划的基本组成部分,一个任务通常是一个加工模型、ODS模型或者一个备份任务。

# 在模型表属性中设置定时提取

模型属性中设置定时提取时系统会自动在对应的计划中添加一个任务,取消设置后也会同步删除该任务。

在模型表属性中设置定时提取

# 批量增删任务

如果已经存在大量的模型需要都加入到计划内,一个一个添加会比较繁琐,可以进行任务的批量操作,如下:

  1. 计划页面,点击计划的名称,进入任务列表
  2. 任务列表点击添加按钮,对话框中选择需要执行数据提取的模型,添加成功后,上方会出现成功添加任务提示
  3. 同样的,批量删除任务点击移除按钮即可

添加任务

# 批量移动任务

任务列表页面,勾选需要移动的任务,点击移动按钮,默认不勾选在计划中保留任务。勾选后,移动的任务会保留在原计划中,类似于复制到另一个计划的操作。

批量移动任务

# 查看任务

在计划列表点击名称列,即可跳转到该计划的任务列表页面,提供了两种查看模式:

  • 默认以列表视图展示该计划内的所有任务及任务的属性
  • 点击按钮,可切换至树视图模式,此时以任务所在资源目录结构组织形式展示该计划内的所有任务

查看任务

在两种视图下,右键点击任务/任务所在目录,可进行如下操作:

  • 设置:单独设置任务的任务属性
  • 定位到:定位到对应的任务页面,其中提取任务跳转到模型,备份任务跳转至系统设置 > 项目 > 备份页面
  • 查看:查看该任务相关的流向图,可选择只查看当前任务的来源、只查看当前任务的影响或者查看当前任务的来源和影响
  • 执行:可以根据需要选择仅执行当前任务的数据提取,或者执行当前任务的所有来源、执行当前任务的所有影响、执行当前任务的所有来源和影响

# 任务属性

  • 优先级: 任务的优先级,优先级范围是0~100,若不考虑依赖关系,优先级高的任务将总是优先执行,相同优先级的任务将按照任务列表顺序执行
  • 失败重试: 任务执行失败,是否可以再次重试,以及重试的次数、失败重试间隔时间(分钟)
  • 调度条件: 任务调度的条件,计划调度时,不满足调度条件的任务将不会执行,比如 TOSTR(TODAY(),'dd') = '01' 表示任务只在每个月1号执行

TIP

计划可以设置所有任务的默认优先级、失败重试等属性,当任务单独设置了优先级、失败重试属性时,将覆盖默认的设置。

# 执行任务

在计划内支持手动选择单个的或者多个任务立即执行,往往用于某个任务执行失败需要重新执行,在任务列表勾选需要执行的任务,点击左上角的立即执行,也可以通过右键菜单执行,执行后会自动跳转至最新日志界面,监控本次计划执行情况。

执行任务

# 批处理

批处理本质上是一种服务端脚本,常用于实际生产环境的二次开发,比如通过脚本调用copytables批量进行跨库迁移,调用gis服务更新地图信息等,在任务页面,点击批处理,进入批处理页面,页面提供如下操作:

  • 新增批处理:点击新建脚本按钮,在脚本编辑器页面编写自定义脚本,编写完成后可以格式化下脚本,保存后点击执行,可在进度对话框查看脚本的执行情况
  • 删除批处理:选中需要删除的批处理,点击工具栏的删除按钮,即可删除
  • 查询批处理:在顶部工具栏右边的搜索框中直接输入想要搜索的内容即可
  • 编辑批处理属性:点击编辑按钮,弹出设置批处理的对话框,可设置
    • 名称:批处理的名称
    • 计划:批处理所在的计划,如果希望批处理定时调度,那么可以将批处理添加至指定计划
    • 依赖:批处理依赖的模型,可设置批处理在指定模型调度完成后执行

编写脚本执行

# 日志

计划或者任务执行的详细日志,包括执行SQL,提取的数据行数、异常报错等信息

# 最近一次执行的任务日志

最新日志页面可显示最近一次执行的任务日志(包括正在执行),正在执行时的日志界面如图:

最新日志

  • 执行进度:显示计划的执行进度及预计剩余完成时间
  • 停止按钮:点击中止计划执行
  • 任务筛选:按照执行状态、任务名称筛选列表中的任务,便于出现问题时的异常跟进
  • 视图切换
    • 支持切换显示表格视图、树视图,默认状态下为表格视图
    • 点击流向图可查看该计划内各个任务间的依赖关系及数据流向
  • 任务列表
    • 列表的列头支持排序
    • 以瀑布图形式展示每个任务的执行顺序和执行耗时
    • 点击任务名称,可以跳转到对应的任务页面
    • 点击日志列的查看按钮,可以查看和复制某个任务的执行过程及具体SQL,出现异常的任务还会显示具体的异常信息,方便用户排查问题
  • 点击操作>日志,可以查看任务的执行日志

# 计划的历史执行日志

在计划列表的操作列中,点击某一条计划的日志,进入所有日志页面

所有日志

  • 过滤筛选栏:支持在日志列表中,对计划执行的开始、结束时间,耗时范围及执行状态进行筛选
  • 点击操作>日志,可以查看本次执行计划级别的日志
  • 点击操作>查看或双击行,查看当时计划执行的任务的日志信息,整体界面与最近一次执行的任务日志相同

# 日志状态

日志的状态包括计划日志状态和计划任务日志状态。

# 计划日志状态

进入所有日志页面,在状态栏可以查看计划日志的状态,计划日志状态包括:

  • 成功:执行一次计划,计划中的任务要么执行成功要么因为不满足调度条件而取消,不存在异常的任务
  • 失败:执行一次计划,计划中部分任务执行出现异常
  • 取消:执行计划过程中,用户取消了计划的执行
  • 正在执行:计划正在执行

# 计划任务日志状态

进入最新日志页面,在状态栏可以查看计划任务日志的状态,计划任务日志状态包括:

  • 成功:计划任务执行成功
  • 失败:计划任务执行出现异常
  • 取消:计划任务被取消
  • 正在执行:计划任务正在执行
  • 等待:计划任务等待被调度

TIP

计划的调度条件包括提取前检查设置的条件以及任务属性设置的条件。

# 流向图

流向图展示了计划内各个任务间的依赖关系,在计划执行过程中,也可以在流向图中看到模型执行的顺序,数据流向等。

# 查看流向图

计划页面点击计划名称,在左侧导航栏选择流向图标签,查看最新执行任务流向图。

执行调度图

鼠标移动到流向图的模型上,会浮动出模型的名称、路径、最新调度等信息;右键出现的菜单选项中提供如下操作:

  1. 定位到:系统会定位到当前任务对应的模型中,点击浏览器的返回按键可以回到流程图界面
  2. 查看:当流向图展示的任务太多时,可以选择只查看当前任务的来源、只查看当前任务的影响或者查看当前任务的来源和影响
  3. 执行:可以根据需要选择仅执行当前任务的数据提取,或者执行当前任务的所有来源、执行当前任务的所有影响、执行当前任务的所有来源和影响
是否有帮助?
0条评论
评论