每天Get一个小技巧:用DolphinScheduler实现隔几天调度

这篇小短文将教会你如何使用Apache DolphinScheduler实现隔几天调度,有此需求的小伙伴学起来!

转载自tuoluzhe8521


这篇小短文将教会你如何使用Apache DolphinScheduler实现隔几天调度,有此需求的小伙伴学起来!

01


场景分享


DolphinScheduler定时器模块-定时调度时每3秒|每3分钟|每3天这种定时,不能够跨分钟,跨小时,跨月,每次跨月等都会从每个月的第1天(第几天开始可以设定)开始重新计时。

1715766311540afef9866892dd587e3ff2d032cade28c

为解决此问题,可以采用整天运行,并使用DolphinS cheduler自带的switch判断模块组合实现每隔几天的需求。



02


具体实现逻辑

 

由于switch模块只能做判断,不能做动态计算,因此需要单独计算参数.


2.1 计算参数

#此处按照每隔3天调度一次,并从2024-01-18开始计算
day_param1=$(( ($(date -d "${dt}" +%s)-1705507200) % 259200 ))
echo $day_param1
echo '${setValue(day_param='$day_param1')}'

17157663115417d29ba550b4818a2682471bb93279a13


2.2 添加swith模块

1715766311533643f6e344f9f4538270f5dc18feefa69

注:switch分支流转配置需要有后续任务才可以配置,后续任务配置好后再重新添加分支流转.


2.3 配置后续模块

171576631153374eafa464650712adf15a620877cbbc0


2.4 定时配置

此时定时按照每天运行一次即可,满足隔3天的条件才进行真正的任务运行。
原文链接:
https://blog.csdn.net/Brother_ning/article/details/136032323