更新时间:2024-05-09 GMT+08:00

作业调度支持每月最后一天

场景描述

在配置作业调度时,可以选择每个月的最后一天执行。如果您需要配置作业的调度时间为每月最后一天,请参考下面两种方法。

表1 配置每月最后一天进行调度

配置方法

优势

如何配置

调度周期配置为天,通过条件表达式进行判断是否为每月最后一天

可以灵活适用多种场景。只需要编写条件表达式就可以灵活调度作业去运行。例如,每月最后一天,每月七号等。

方法1

调度周期配置为月,勾选每月最后一天

通过配置调度周期来执行任务调度。不用编写开发语句,通过勾选需要调度的时间去执行任务。

方法2

方法1

在DataArts Studio中配置一个每天调度执行的作业,然后在作业里面新增一个Dummy节点(空节点,不处理实际的业务数据),在Dummy节点与后续执行任务的节点的连线上,您可以配置条件表达式,判断当前是否为每个月的最后一天。如果是最后一天,则执行后续节点,否则跳过后续节点。

  1. 在数据开发主界面的左侧导航栏,选择数据开发 > 作业开发
  2. 任务配置为天调度,如下图:
    图1 调度周期配置为天

  3. 在节点的连线上,单击右键,选择设置条件,配置条件表达式。通过表达式来判断,是否执行后续的业务节点。
    图2 设置条件表达式

  4. 表达式配置方法如下所示。
    #{DateUtil.getDay(DateUtil.addDays(Job.planTime,1)) == 1 ? "true" : "false"}

    表达式的含义是:获取当前的时间点,往后推一天,判断是不是1号,如果是,则表明当前是每个月的最后一天,执行后续节点。如果不是,则跳过后续的业务节点。

    图3 条件表达式

    如果用户的作业是每个月的最后一天执行,可以按照上面的方法进行配置。

    如果用户的作业是每月7号执行,可以按照下面的方法进行配置。

    判断是否为7号,表达式配置方法如下所示。

    #{DateUtil.getDay(Job.planTime) == 7 ? "true" : "false"}

方法2

  1. 在数据开发主界面的左侧导航栏,选择数据开发 > 作业开发
  2. 单击作业画布右侧“调度配置”页签,进入调度配置页面。
  3. 调度方式选择“周期调度”,调度周期选择“月”,选择时间为“每月最后一天”,如下图所示。
    图4 调度时间为每月最后一天

    调度时间配置好之后,在每个月的最后一天,所配置的作业会按照调度时间去自动运行。