数加·大数据开发套件目前支持任务调度周期有五种:天、周、月、分钟、小时。本文将介绍这五种周期的配置和调度形态。
调度规则——调度任务是否能运行起来要满足的条件:
- 上游任务实例是否都运行成功。若所有上游任务实例都运行成功则触发任务进入等待时间状态。
- 任务实例定时时间是否已经到。任务实例进入等待时间状态后会check本身定时时间是否到,如果时间到了则进入等待资源状态;
- 当前调度资源是否充足。任务实例进入等待资源状态后,check当前本项目调度资源是否充足,若充足则可以运行起来。
天调度任务
天调度任务,即每天自动调度运行一次,运行时遵循调度规则。新建调度任务时,调度周期默认就是天调度。
具体时间默认是00:00:00,可自行指定,当然指定具体时间后依然需要遵循调度规则进行起调,不一定就能在指定的时间马上运行起来。
场景:3个任务——导入、统计加工、导出,都是天任务,具体时间如上图13点;统计加工任务依赖导入任务,导出任务依赖统计加工任务,依赖配置如下图(‘统计加工任务’的依赖属性配置上游任务为‘导入任务’):
这样的配置自动调度形态如下:
周调度任务
周调度任务,即每周周N那天会自动调度运行一次,运行时遵循调度规则;没指定的每天也都会生成自动调度实例但是是空跑实例,即调度到的时候直接返回成功状态不会真正执行任何逻辑,也不会占用资源。
如上图中,每周一、周五两天生成的实例会正常的调度执行,而周二、三、四、六以及周日5天都是生成空跑实例。
注意: 这个任务提交后,想进行调度测试,选择业务日期的时候,只有选择“周日”或“周四”的日期,生成的测试实例可以真正运行的实例,选择其他业务日期生成的实例都是空跑实例。
任务的自动调度形态如下:
月调度任务
周调度任务,即每月指定的日期那天会自动调度运行一次,运行时遵循调度规则;没指定的日期每天也都会生成自动调度实例但是是空跑实例,即调度到的时候直接返回成功状态不会真正执行任何逻辑,也不会占用资源。
如上图中,每月1日生成的实例会正常的调度执行,其他日期每天都是生成空跑实例。
注意:
- 这个任务提交后,想进行调度测试,选择业务日期的时候,只有选择每个月最后一天的日期生成的测试实例才能真正运行,其他业务日期生成的实例都是空跑实例。
- 目前系统不支持配置“每月最后一天”,调度周期—选择时间若选“每月31日”那么只有那个有31日的月份会有一天真正调度,其他都是空跑。若是需要统计汇总每个月的数据,正常情况就是配置每月一日调度,代码逻辑里写定义处理上个月的数据。
上图的配置,任务自动调度形态如下:
分钟调度任务
分钟调度任务,即每天指定的时间段内,每隔N(5的倍数)分钟自动调度运行一次,运行时遵循调度规则。
如上图,表示每天00点整到23点59分这个时间段内,每隔30分钟会自动调度一次。
开始时间、结束时间的“时”可以调整,比如可以调整为每天08点——20点59分,每隔30分钟执行一次。
上图的配置,调度形态如下:
小时调度任务
小时调度任务,即每天指定的时间段内,每隔N(1的倍数)分钟自动调度运行一次,运行时遵循调度规则。
如上图,表示每天00点整到23点59分这个时间段内,每隔6小时会自动调度一次。
开始时间、结束时间的“时”可以调整,比如可以调整为每天08点——20点59分,每隔1小时执行一次。
上图的配置,调度形态如下: