You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件(私有化)

大数据研发治理套件(私有化)

复制全文
离线任务通用设置
调度参数说明
复制全文
调度参数说明

DataLeap为您提供数据开发任务调度时使用的时间变量调度参数,可根据任务中配置的变量参数,在每次运行时,通过解析后自动替换为实际运行的参数值,实现每天任务调度时,时间参数的动态替换。

变量使用说明

任务代码中可使用两种类型的变量,系统提供的时间变量和任务中定义的输入参数,具体使用方式如下:

  1. 时间变量:’${时间变量名}’
  2. 任务输入参数:’{{输入参数名}}’

说明

字段为String类型时,参数使用时需带上引号,如’${date}’。

业务时间说明

  • 天任务业务时间=执行日期前一天0点
  • 小时任务业务时间=执行时间前一个小时

普通时间变量说明

变量

含义

格式

示例

${DATE}

获取业务时间日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${DATE} =2019-01-01
小时任务:2019/01/02 8点执行,${DATE} =2019-01-02

${date}

获取业务时间日期

yyyyMMdd

天任务:2019/01/02 8点执行,${date} =20190101
小时任务:2019/01/02 8点执行,${date} =20190102

${day}

获取业务时间日期

dd

天任务:2019/01/02 8点执行,${day} =01
小时任务:2019/01/02 8点执行,${day} =02

${HOUR}

获取业务时间整点

h(整数)

天任务:2019/01/02 8点执行,${HOUR} =0
小时任务:2019/01/02 8点执行,${HOUR} =7

${hour}

获取业务时间整点

hh

天任务:2019/01/02 8点执行,${hour} =00
小时任务:2019/01/02 8点执行,${hour} =07

${month}

获取业务时间月份

MM

天任务:2019/01/02 8点执行,${month} =01
小时任务:2019/01/02 8点执行,${month} =01

${year}

获取业务时间年份

yyyy

天任务:2019/01/02 8点执行,${year} =2019
小时任务:2019/01/02 8点执行,${year} =2019

${timestamp}

获取业务时间时间戳

XXXXXX...(整数)

天任务:2019/01/02 8点执行,${timestamp} =1546272000
小时任务:2019/01/02 8点执行,${timestamp} =1546383600

${last_DATE}

获取业务时间所处月份的最后一天

yyyy-MM-dd

天任务:2019/01/02 8点执行,${last_DATE} =2019-01-31
小时任务:2019/01/02 8点执行,${last_DATE} =2019-01-31

${last_date}

获取业务时间所处月份的最后一天

yyyyMMdd

天任务:2019/01/02 8点执行,${last_date-1} =20181231
小时任务:2019/01/02 8点执行,${last_date-2} =20181130

${last_day}

获取业务时间所处月份的最后一天

dd

天任务:2019/01/02 8点执行,${last_day-1} =31
小时任务:2019/01/02 8点执行,${last_day-2} =30

${week_start}

获取业务时间所处日期那周的第一天,定义周一为每周的第一天

yyyyMMdd

天任务:2019/01/02 8点执行,${week_start} =20181231
小时任务:2019/01/02 8点执行,${week_start} =20181231

${WEEK_start}

获取业务时间所处日期那周的第一天,定义周一为每周的第一天

yyyy-MM-dd

天任务:2019/01/02 8点执行,${WEEK_start} =2018-12-31
小时任务:2019/01/02 8点执行,${WEEK_start} =2018-12-31

${weekyear}

获取业务时间处于一年中的第几周。
每周从周一开始计算。
1月1日,一定会取到01、12月31日一定会取当年的最后一周。
例如2023年1月1日的weekyear为01,2023年1月2日的weekyear为02。

01~50+

天任务:2019/01/02 8点执行,${weekyear} =01
小时任务:2019/01/02 8点执行,${weekyear} =01

${week_of_year}

获取业务时间处于一年中的第几周。

  • 每周从周一开始计算。
  • 与MySQL的WEEKOFYEAR函数类似。符合 ISO 8601 标准,一周的第一天是星期一,并且每年的第一周必须包含至少 4 天,因此,1月1日不一定取到01。
  • 例如2023年1月1日的week_of_year为52,2023年1月2日的week_of_year为01

01~50+

天任务:2019/01/02 8点执行,${weekyear} =01
小时任务:2019/01/02 8点执行,${weekyear} =01

${tend_start}

获取业务时间所处日期处于上、中、下旬的旬初日期,定义:

  • 上旬:1~10号,旬初为 1 号
  • 中旬:11~20号,旬初为 11 号
  • 下旬:21~当月最后一天,旬初为 21 号

yyyyMMdd

天任务:2019/01/02 8点执行,${tend_start} =20190101
小时任务:2019/01/02 8点执行,${tend_start} =20190101

${TEND_start}

获取业务时间所处日期处于上、中、下旬的旬初日期,定义:

  • 上旬:1~10号,旬初为 1 号
  • 中旬:11~20号,旬初为 11 号
  • 下旬:21~当月最后一天,旬初为 21 号

yyyy-MM-dd

天任务:2019/01/02 8点执行,${TEND_start} =2019-01-01
小时任务:2019/01/02 8点执行,${TEND_start} =2019-01-01

${quarter_start}

获取业务时间所处日期的季度初日期

yyyyMMdd

天任务:2019/01/02 8点执行,${quarter_start} =20190101
小时任务:2019/01/02 8点执行,${quarter_start} =20190101

${QUARTER_start}

获取业务时间所处日期的季度初日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${QUARTER_start} =2019-01-01
小时任务:2019/01/02 8点执行,${QUARTER_start} =2019-01-01

${week_end}

获取业务时间所处日期那周的最后一天,定义周日为每周的最后一天

yyyyMMdd

天任务:2019/01/02 8点执行,${week_end} =20190106
小时任务:2019/01/02 8点执行,${week_end} =20190106

${WEEK_end}

获取业务时间所处日期那周的最后一天,定义周日为每周的最后一天

yyyy-MM-dd

天任务:2019/01/02 8点执行,${WEEK_end} =2019-01-06
小时任务:2019/01/02 8点执行,${WEEK_end} =2019-01-06

${week_end_saturday}

获取业务时间所处日期那周周六对应的日期

yyyyMMdd

天任务:2019/01/02 8点执行,${week_end_saturday} =20190105
小时任务:2019/01/02 8点执行,${week_end_saturday} =20190105

${WEEK_end_saturday}

获取业务时间所处日期那周周六对应的日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${WEEK_end_saturday} =2019-01-05
小时任务:2019/01/02 8点执行,${WEEK_end_saturday} =2019-01-05

${tend_end}

获取业务时间所处日期处于上、中、下旬的旬末日期,定义:

  • 上旬:1~10号,旬末为 10 号
  • 中旬:11~20号,旬末为 20 号
  • 下旬:21~当月最后一天,旬末为当月最后一天

yyyyMMdd

天任务:2019/01/02 8点执行,${tend_end} =20190110
小时任务:2019/01/02 8点执行,${tend_end} =20190110

${TEND_end}

获取业务时间所处日期处于上、中、下旬的旬末日期,定义:

  • 上旬:1~10号,旬末为 10 号
  • 中旬:11~20号,旬末为 20 号
  • 下旬:21~当月最后一天,旬末为当月最后一天

yyyy-MM-dd

天任务:2019/01/02 8点执行,${TEND_end} =2019-01-10
小时任务:2019/01/02 8点执行,${TEND_end} =2019-01-10

${quarter_end}

获取业务时间所处日期的季度末日期

yyyyMMdd

天任务:2019/01/02 8点执行,${quarter_end} =20190331
小时任务:2019/01/02 8点执行,${quarter_end} =20190331

${QUARTER_end}

获取业务时间所处日期的季度末日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${QUARTER_end} =2019-03-31
小时任务:2019/01/02 8点执行,${QUARTER_end} =2019-03-31

${quarter_end -1}

获取业务时间所处日期的上个季度末日期

yyyyMMdd

天任务:2019/01/02 8点执行,${quarter_end -1} =20181231
小时任务:2019/01/02 8点执行,${quarter_end -1} =20181231

${QUARTER_end -1}

获取业务时间所处日期的上个季度末日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${QUARTER_end -1} =2018-12-31
小时任务:2019/01/02 8点执行,${QUARTER_end -1} =2018-12-31

${date - 1y}

获取业务时间所处日期去年的同个日期

yyyyMMdd

天任务:2019/01/02 8点执行,${date - 1y} =20180101
小时任务:2019/01/02 8点执行,${date - 1y} =20180102

${DATE - 1y}

获取业务时间所处日期去年的同个日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${DATE - 1y} =20180101
小时任务:2019/01/02 8点执行,${DATE - 1y} =20180102

${date - 2}

获取业务时间日期往前几天的日期

yyyyMMdd

天任务:2019/01/02 8点执行,${date - 2} =20181230
小时任务:2019/01/02 8点执行,${date - 2} =20181231

${date - 1m}

获取业务时间日期上个月对应的日期

yyyyMMdd

天任务:2019/01/02 8点执行,${date - 1m} =20181201
小时任务:2019/01/02 8点执行,${date - 1m} =20181202

${runtime}

获取任务实例运行时,实例实际的启动时间

yyyy-MM-dd HH:mm:ss

天任务:2019/01/02 8点执行,${runtime} =当前实例实际启动时间
小时任务:2019/01/02 8点执行,${runtime} =当前实例实际启动时间

${cyctime}

获取任务调度设置中设置的任务定时时间

说明

  • 在数据开发界面调试任务时,${cyctime} 默认解析为当前开始调试的时间;
  • 运维中心正常调度执行时,${cyctime} 解析为任务定时时间。

yyyymmddhh24miss

天任务:2019/01/02 8点执行,${cyctime} =20190102080000
小时任务:2019/01/02 8点执行,${cyctime} =20190102080000

  • 基本运算法则:往前或者往后n个单位时间
    • ${DATE-n}or ${DATE+n}获取输入时间往前-n天或者往后+n天的日期。
    • ${hour-n}or ${hour+n} 获取输入时间整点往前-n小时或者往后+n小时的整点。
  • 高级运算法则:${var+x+ym-zd+ph},表示业务时间加x单位时间,加y个月,减z天,加p小时,其中var代表时间变量(如var=date,加x天),m代表月,d代表天,h代表小时。例如:
    • 输入时间=2019-01-01 00:00:00,${date+1+2m}=20190302
    • 输入时间=2019-01-01 00:00:00,${hour+3-1h}=02
  • 月级别任务常量配置推荐使用${var-1m},可支持跨年场景。
  • 获取任意月份最后一天:利用${last_date+N}、${last_DATE+N}和${last_day+N} 可获取任意月份的最后一天,以2019-02-21执行结果为例:
    • ${last_DATE} = 2019-02-28
    • ${last_DATE-1} = 2019-01-31
    • ${last_date+1} = 20190331
    • ${last_day} = 28

调度日历参数说明

仅设置调度日历才能生效的参数:${calendar_day}、${calendar_month}

注意

  • calendar_day、calendar_month 参数默认读取上传调度日历文件中 schedule_date 列下的日期和月份信息,若当前时间已超出日历文件中的定时时间范围时,则会自动解析成当前时间,即 ${calendar_day} 的取值与定时时间相等,${calendar_month} 取值为当前月份。
  • 若某任务引用了调度日历,${date}、${DATE}参数的行为将会改变:
    • 未引用调度日历,用户在代码中使用${date}、${DATE}参数,取值为业务日期(对天任务,业务日期=定时时间-1天)。如今天是 20250108,则 ${date} 解析为 20250107,${DATE} 解析为 2025-01-07。
    • 引用调度日历,用户在代码中使用${date}、${DATE}参数,取值为定时时间。如今天是 20250108,则 ${date} 解析为 20250108,${DATE} 解析为 2025-01-08。
  • ${calendar_day-1}:
    按有效的定时时间加减:是按定时时间的所在日,减一个**有效的定时时间**,如下表格,当计划时间 = 2024-12-16时,减1个有效的定时时间应取值12月13日。即在第一列(定时时间)中向上,根据有效定时时间,向上走一位,有效无效,是根据第三列判断。
  • ${calendar_day-1d}:
    按定时时间加减:是指按定时时间所在日的下一个定时时间,即在第一列(定时时间)中向下走一位。
  • ${calendar_month+1+1m}:
    • +1:遵循 ${calendar_day} 的加减逻辑。即 ${calendar_month+1},是按定时时间的所在日,加一个**有效的定时时间​**后,获取到对应 ${calendar_day} 取值,并解析该取值所在月份;
    • +1m: ${calendar_month} 的二次计算逻辑,是在解析到 ${calendar_day} 值的基础上,再加 1 个月。

下方摘取了调度日历文件中部分定时时间,当前定时时间为2024-12-16时:

定时时间

${calendar_day}取值

schedule

2024/12/12(星期四)

2024/12/12

TRUE

2024/12/13(星期五)

2024/12/13

TRUE

2024/12/14(星期六)

none

FALSE

2024/12/15(星期日)

none

FALSE

2024/12/16(星期一)

2024/12/16

TRUE

2024/12/17(星期二)

2024/12/17

TRUE

2025/01/12(星期日)

none

FALSE

2025/01/13(星期一)

2025/01/13

TRUE

2025/01/14(星期二)

2025/01/14

TRUE

2025/01/15(星期三)

2025/01/15

TRUE

2025/01/16(星期四)

2025/01/16

TRUE

2025/01/17(星期五)

2025/01/17

TRUE

  • ${calendar_day-1+1d}的取值为none
  • ${calendar_day+1d-1}的取值为 2024/12/16
  • ${calendar_month+1+1m}的取值为 2025/01

注意

  • ${calendar_day}相关的计算公式中,-1+1d在一个 ${calendar_day} 中分别仅能出现一次,不能出现多次,如${calendar_day-1+1d-3+5d}公式不符合计算要求。
  • 更多调度日历参数说明,可参考使用调度日历
最近更新时间:2025.07.31 18:13:48
这个页面对您有帮助吗?
有用
有用
无用
无用