# 作业流监控
当用户完成数据开发并提交调度后,即可在作业调度界面中对作业流与任务进行管理运维操作,包括对作业流的执行运行、暂停、停止、重跑、删除等操作,其他还包括查看工作流详情、任务运行历史、任务间的上下游关系、任务执行实例等功能。
本章节涉及的功能主要有:
# 作业流管理
点击调度引擎列表(也可切换成卡片)的"引擎名称"超链接,跳转到"作业流管理"页面。
在"作业流管理"页面,可以看到该调度引擎下已提交的所有作业流。
运行:点击"作业流名称"对应的【运行】按钮,用于手动触发一次即执行一次非周期性运行场景。
定时:点击"作业流名称"对应的【定时】按钮,支持 Cron 表达式设置调度策略,用于周期性调度的任务。
Cron表达式规则:
域 | 允许值 | 允许的特殊字符 |
---|---|---|
秒(Seconds) | 0~59的整数 | , - * / 四个字符 |
分(Minutes) | 0-59的整数 | , - * / 四个字符 |
小时(Hours) | 0-23的整数 | , - * / 四个字符 |
日期(DayofMonth) | 0-31的整数(但是需要考虑月的天数) | ,- * ? / L W C 八个字符 |
月份(Month) | 1-12的整数或英文JAN-DEC | , - * / 四个字符 |
星期(DayofWeek) | 1-7的整数或英文SUN-SAT(1=SUN, 2=MON,...) | , - * ? / L C # 八个字符 |
年份(Year) | 1970-2099 | , - * / 四个字符 |
Cron表达式域使用的特殊字符含义:
字符 | 含义 |
---|---|
* | 表示匹配该域的任意值,假如在 Minutes 域使用 *,即表示每分钟都会触发事件。 |
? | 只能用在 DayofMonth(日期)和 DayofWeek(星期)两个域。它也匹配域的任意值,但实际不会。因为 DayofMonth 和 DayofWeek 会相互影响。例如想在每月的 20 日触发调度,不管 20 日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?,其中最后一位只能用 ?,而不能使用 *,如果使用 * 表示不管星期几都会触发,实际上并不是这样。 |
- | 表示范围,例如在 Minutes 域使用 5-20,表示从 5 分到 20 分钟每分钟触发一次 |
/ | 表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用 5/20,则意味着 5 分钟触发一次,而 25,45等分别触发一次。 |
, | 表示列出枚举值。例如:在Minutes域使用 5,20,则意味着在 5 和 20 分每分钟触发一次 |
L | 该字符只在 DayofMonth(日期)和 DayofWeek(星期)域中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的 31 号,非闰年二月的 28 号;如果L用在星期中,则表示星期六,等同于7。但是,如果 L 在前面有一个数值 X ,它就具有其他含义了。例如,月份中的 6L 表示该月的倒数第六天;星期域中的 FRIL 表示这个月的最后一个星期五。 |
W | 该字符只能出现在 DayofMonth(日期)域里,是对前导日期的修饰,表示离该日期最近的工作日(周一到周五)。例如 15W 表示离该月15 号最近的工作日(周一到周五),如果该月15 号是星期六,则匹配 14 号星期五;如果15 日是星期日,则匹配 16 号星期一;如果 15 号是星期二,那结果就是15 号星期二。但必须注意关联的匹配日期不能够跨月,如你指定 1W,如果 1 号是星期六,结果匹配的是 3 号星期一,而非上个月最后的那天。W 字符串只能指定单一日期,而不能指定日期范围。 |
LW | 在 DayofMonth 字段可以组合使用 LW,它的意思是当月的最后一个工作日(周一到周五)。 |
C | 该字符只在 DayofMonth(日期)和 DayofWeek(星期)域中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如:5C 在日期字段中就相当于日历 5 日以后的第一天;1C 在星期字段中相当于星期日后的第一天。 |
# | 该字符只能在 DayofWeek(星期)域中使用,表示当月某个工作日(周一到周五)。如 6#3 表示当月的第三个星期五( 6 表示星期五,#3表示当前的第三个);而 4#5 表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发。 |
Cron表达式示例:
表达式 | 含义 |
---|---|
*/5 * * * * ? | 每隔 5 秒执行一次。 |
0 */1 * * * ? | 每隔 1 分钟执行一次。 |
0 0 */1 * * ? | 每隔 1 小时执行一次。 |
0 0 12 * * ? | 每天 12 点执行一次。 |
0 0 0,13,18,21 * * ? | 每天的 0 点、13 点、18 点、21 点都触发一次。 |
0 0 0-8 * * ? | 每天的 0-8点,每整点触发一次。 |
0 15 10 ? * * | 每天早上 10:15 触发。 |
0 15 10 * * ? 2024 | 2024 年的 每天早上 10:15 触发。 |
0 0 8 ? * 2-6 | 每周一到周五,上午 8 点执行一次。 |
0 0/5 8-9 ? * 2-6 | 每周一到周五的上午 8 点到 9 点期间,每隔 5 分钟执行一次。 |
0 0 8,17 ? * 2-6 | 每周一到周五的 8 点和 17 点,执行一次。 |
0 0 8,13 * * ? | 每天的早8、下午1点触发一次。 |
0 0 12 ? * 2#1 | 每月第一个星期一中午12点触发一次。 |
0 * 14 * * ? | 每天从下午 2 点开始到 2 点 59 分每分钟一次触发。 |
0 0/5 14 * * ? | 每天从下午 2 点开始到 2 点 55 分结束每 5 分钟一次触发。 |
0 10,44 14 ? 3 WED | 三月的每周三的14:10和14:44触发 |
0 15 10 ? * MON-FRI | 每个周一、周二、周三、周四、周五的10:15触发。 |
0 15 10 15 * ? | 每月 15 号的 10:15 触发。 |
0 15 10 L * ? | 每月的最后一天的 10:15 触发。 |
0 15 10 ? * 6L | 每月最后一个周五的 10:15 触发。 |
0 15 10 ? * 6L 2002-2005 | 2002 年至 2005 年的每月最后一个周五的 10:15触发。 |
上线:提交后的资源要点击【上线】按钮后才能手工运行或者定时触发运行。
下线:点击【下线】按钮后,该作业流不能再运行。
关系图:点击【关系图】按钮,可以图形化方式查看该作业流的定义。
删除:点击【删除】按钮,可以删除该作业流。若想再次运行,可以在 IDE 中重新提交版本。已经"上线"的作业流不允许删除。
点击【确认】按钮,完成删除操作。
点击【取消】按钮,取消删除操作。
# 作业流实例
点击调度引擎列表的"引擎名称"超链接,点击"作业流实例"跳转到"作业流实例"页面。
用户可以对作业流实例的执行重跑、恢复失败、暂停、停止、删除、树形等操作。
重跑:重新执行已经终止的作业流。
恢复失败:针对失败的作业流,可以执行恢复失败操作,从失败的节点开始执行。
暂停:对正在运行的作业流进行暂停操作,系统状态变为等待执行,会等待正在执行的任务结束,暂停下一个要执行的任务。
停止:对正在运行的流程进行停止操作,后台会先 kill worker 进程,再执行 kill -9 操作。
删除:删除作业流实例及作业流实例下的任务实例。点击【确认】按钮,完成删除操作。 点击【取消】按钮,取消删除操作。
树形:作业流实例下的任务实例的拓扑排序。
# 搜索
点击作业流管理、作业流实例列表右上方的【高级】按钮,输入搜索条件,点击【搜索】按钮,可以按照条件完成模糊查询,点击【重置】按钮,可以清空搜索条件。