1. 概述
1.1 应用场景
用户希望定时任务仅在工作日运行。
1.2 实现思路
调用判断当天是否为工作日的接口,若当天是工作日,进行常规后续节点运行;若当天不是工作日,可运行「虚拟节点」。如下图所示:
1.3 任务展示
FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/「仅在工作日执行定时任务」。
2. 操作步骤
2.1 判断当天是否为工作日
2.1.1 调用接口
1)新建定时任务,拖入「数据转换」节点。
2)进入「数据转换」节点,拖入「API输入」算子,调用接口http://timor.tech/api/holiday/info/${cyctime},判断任务运行当天是否为工作日。如下图所示:
注:${cyctime} 为 ETL 任务在 调度配置 中设置的每次运行的时间节点。
3)点击「数据预览」,如下图所示:
type.type 值说明如下:
值 | 说明 |
---|---|
0 | 工作日 |
1 | 周末 |
2 | 节日 |
3 | 调休补班 |
所以值为 0 或 3 时,执行任务即可。
2.1.2 输出参数
1)拖入「参数输出」算子,将 type.type 值输出为参数,便于后续「条件分支」节点使用,达到在工作日执行任务的效果。如下图所示:
注:点击「参数预览」按钮,将预览值填到「默认值」中,便于后续节点查看效果;「默认值」不影响实际运行结果。
2)点击右上角「保存」按钮。
2.2 设置条件分支节点
1)拖入「条件分支」节点,若当天为工作日,执行后续节点,此处为方便查看效果,用「消息通知」节点代替;若当天为非工作日,执行「虚拟节点」。如下图所示:
2)设置「条件分支」节点,当参数值为 0 或 3 时,执行后续常规节点;当参数值不为 0 和 3 时,执行「虚拟节点」。如下图所示:
2.3 后续节点设置
本文为展示效果,用「消息通知」节点代替后续常规节点;用户实际场景中,将「消息通知」节点替换为后续要执行的节点即可。
「消息通知」节点设置界面如下图所示:
2.4 效果查看
1)点击右上角「保存并运行任务」,任务运行成功后,如下图所示:
2)消息通知内容如下图所示: