作业调度支持每月最后一天
场景描述
在配置作业调度时,可以选择每个月的最后一天执行。如果您需要配置作业的调度时间为每月最后一天,请参考下面两种方法。
方法1
在DataArts Studio中配置一个每天调度执行的作业,然后在作业里面新增一个Dummy节点(空节点,不处理实际的业务数据),在Dummy节点与后续执行任务的节点的连线上,您可以配置条件表达式,判断当前是否为每个月的最后一天。如果是最后一天,则执行后续节点,否则跳过后续节点。
- 在数据开发主界面的左侧导航栏,选择 。
- 任务配置为天调度,如下图:
图1 调度周期配置为天
- 在节点的连线上,单击右键,选择设置条件,配置条件表达式。通过表达式来判断,是否执行后续的业务节点。
图2 设置条件表达式
- 表达式配置方法如下所示。
#{DateUtil.getDay(DateUtil.addDays(Job.planTime,1)) == 1 ? "true" : "false"}
表达式的含义是:获取当前的时间点,往后推一天,判断是不是1号,如果是,则表明当前是每个月的最后一天,执行后续节点。如果不是,则跳过后续的业务节点。
图3 条件表达式
如果用户的作业是每个月的最后一天执行,可以按照上面的方法进行配置。
如果用户的作业是每月7号执行,可以按照下面的方法进行配置。
判断是否为7号,表达式配置方法如下所示。
#{DateUtil.getDay(Job.planTime) == 7 ? "true" : "false"}