Keeper 中的名词术语

由于调度工具的特殊性,Keeper 有自己的一些专业术语。这些术语基本与行业通用,有的可能是专有的,但也很好理解。

节点 Node

运行 Keeper 的服务器,可以是任何 Linux 机器。Keeper 支持在局域网的不同机器上启动构成对等集群,每台机器称为一个节点。

调度作业 Job

Job 是调度计划的基本单位,实现某一计算功能的程序。可以由任何语言编写,并可以在服务器上运行。作业包含很多信息,比如名称、描述、运行时间配置、所有者等。

调度任务 Task

Task 是 Job 的实例,是 Job 的每一次执行。Task 包含的描述信息包括,任务时间,启动时间,完成时间,执行状态等。为了表达更加清楚,调度和任务在文档中经常会以英文单词 Job 和 Task 进行表述。

项目 Project

项目是 Job 的组织方式,仅用于管理 Job,是 Job 的分组。

所有者 Owner

表示 Job 的开发者或负责人,也可以理解为预警信息的接收者。

工作流 DAG(有向无环图)

每一个调度可以包含不仅一个程序或脚本,程序和脚本之间可以设定依赖关系,这种多个任务之间先后执行的依赖关系称为 DAG

命令 Command

DAG 中的每一个脚本或命令称为 Command,Command 支持任何 Shell 命令、PQL 过程或 Python 脚本。一个或多个 Command 构成整个 DAG。

动作或执行 Action

Command 的每一次执行称为 Action,即 Action 是 Command 的实例。

依赖 Dependency

即任务执行的前置条件。除了时间条件外,还可以设置其他的依赖条件,如某个 Job 执行完、某个数据表内有特定的数据、某个特定的文件存在等。

任务状态 Status

任务 Task 从创建到运行完成的整个生命周期包含非常多的状态,正常状态有新建New、 检查依赖中Initialized、准备执行Ready、执行中Executing、执行完成Finished、执行成功Success,异常状态有检查超过最大次数CheckingLimit、失败Failed、结果不正确Incorrect、超时Timeout、被中断Interrupted。不同的任务状态会有不同的颜色表示。任务状态对日常管理非常重要。

事件 Event

任务 Task 在不同的状态可以触发不同的动作,这些动作可以执行不同的功能,比如发送邮件、重启任务、执行特定脚本等,这些预设的动作称为 事件。事件可以方便对任务的生命周期进行控制,特别是任务出错时的预警。另外还有 Keeper 全局事件对 Keeper 节点进行控制。

Cron 表达式

Cron表达式 是行业内对调度任务时间计划设定的统一标准,Keeper 对 Cron 表达式进行了扩展,几乎可以满足任何指定时间的设定要求。标准 Cron 表达式有 7 位,在 Keeper 中,秒位在计划作业中无意义,必须保持为0

节点

Keeper 可以多机部署,每台运行 Keeper 的机器称为一个 节点

心跳 Beat

因为 Keeper 程序必须一直处于运行状态,在运行过程中,Keeper 需要每隔 一分钟 进行一次整体的检查,比如检查有没有任务需要执行、检查依赖是否满足等,如果有,则运行或检查任务。心跳是 Keeper 正常运行的标志,心跳在每分钟的0秒进行。


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!