
# 作业调度支持每月最后一天
#### 场景描述
在配置作业调度时，可以选择每个月的最后一天执行。如果您需要配置作业的调度时间为每月最后一天，请参考下面两种方法。
表1配置每月最后一天进行调度 
| 配置方法                          | 优势                                                 | 如何配置                                                                              |
|:---|:---|:---|
| 调度周期配置为天，通过条件表达式进行判断是否为每月最后一天 | 可以灵活适用多种场景。只需要编写条件表达式就可以灵活调度作业去运行。例如，每月最后一天，每月七号等。 | [方法1] |
| 调度周期配置为月，勾选每月最后一天             | 通过配置调度周期来执行任务调度。不用编写开发语句，通过勾选需要调度的时间去执行任务。         | [方法2]   |
   
 #### 方法1
在DataArts Studio中配置一个每天调度执行的作业，然后在作业里面新增一个Dummy节点（空节点，不处理实际的业务数据），在Dummy节点与后续执行任务的节点的连线上，您可以配置条件表达式，判断当前是否为每个月的最后一天。如果是最后一天，则执行后续节点，否则跳过后续节点。
1. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 作业开发"。
2. 任务配置为天调度，如下图：
   图1调度周期配置为天   
   ![](https://support.huaweicloud.com/bestpractice-dataartsstudio/zh-cn_image_0000001857141481.png "点击放大")
   
   
   
3. 在节点的连线上，单击右键，选择设置条件，配置条件表达式。通过表达式来判断，是否执行后续的业务节点。
   图2设置条件表达式   
   ![](https://support.huaweicloud.com/bestpractice-dataartsstudio/zh-cn_image_0000001810263218.png "点击放大")
   
   
4. 表达式配置方法如下所示。
   ```
   #{DateUtil.getDay(DateUtil.addDays(Job.planTime,1)) == 1 ? "true" : "false"}
   ```
   表达式的含义是：获取当前的时间点，往后推一天，判断是不是1号，如果是，则表明当前是每个月的最后一天，执行后续节点。如果不是，则跳过后续的业务节点。
   图3条件表达式   
   ![](https://support.huaweicloud.com/bestpractice-dataartsstudio/zh-cn_image_0000001541275505.png "点击放大")
   
   如果用户的作业是每个月的最后一天执行，可以按照上面的方法进行配置。
   如果用户的作业是每月7号执行，可以按照下面的方法进行配置。
   判断是否为7号，表达式配置方法如下所示。
   ```
   #{DateUtil.getDay(Job.planTime) == 7 ? "true" : "false"}
   ```
   
 
 #### 方法2
1. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 作业开发"。
2. 单击作业画布右侧"调度配置"页签，进入调度配置页面。
3. 调度方式选择"周期调度"，调度周期选择"月"，选择时间为"每月最后一天"，如下图所示。
   图4调度时间为每月最后一天   
   ![](https://support.huaweicloud.com/bestpractice-dataartsstudio/zh-cn_image_0000001493595016.png "点击放大")
   
   调度时间配置好之后，在每个月的最后一天，所配置的作业会按照调度时间去自动运行。
   
 
