1. 概述
1.1 版本
| FineDataLink 版本 | 功能变动 |
|---|---|
| 4.1.8.1 | 新增动态赋值参数设置功能 |
| 4.1.13.2 | 配置方式为「选表」时,支持选字段 |
| 4.1.14.1 | 全局参数调试值的长度,最大为 2000 |
| 4.2.12.4 | 支持限定赋值参数的使用范围 支持为赋值参数添加描述 |
1.2 应用场景
当多个定时任务需要使用相同的参数赋值时,如果参数需要修改,每个定时任务都需要进行修改,实现过程比较麻烦;希望多个定时任务可以调用同一个参数,这样只需要修改该参数就可以达到修改所有定时任务参数的目的,提高维护任务的效率。
例如有一个「参数赋值」在多个定时任务中都用到了,不想在多个定时任务中都维护;或者在多个定时任务中都需要调用API,在正式调用API前都需要调用获取token的API。
1.3 功能简介
支持设置全局参数-赋值参数,该动态参数(值可动态变化)可在多个定时任务中使用。
2. 使用需知
1)「循环容器」遍历对象支持选择动态全局参数。
若循环容器使用该全局参数遍历执行&循环容器里有全局参数非循环参数,则任务执行前计算出该全局参数值再循环运行,容器中节点引用该参数时不重复计算参数值。

2)任务执行:
该定时任务使用到的全局参数,会在定时任务实例运行前开始执行,先计算出全局参数的值后,再运行设计好的定时任务。
当前任务所有的执行记录,都包含全局参数的执行过程,比如执行记录中开始时间从执行全局参数开始;当全局参数的节点在执行时,全局参数执行失败没有结果时,当前节点执行报错。
父、子任务拉起实例时分别计算全局参数。
注:当A任务执行时,运行全局参数得到结果b1,在此期间,C任务也执行了全局参数得到结果b2,在A任务中一直使用结果b1。
3)其余说明请参见:全局参数
3. 注意事项
针对设置全局参数为 token,刷新 token 后老 token 会失效的第三方接口,如果两个使用 token 参数在相同时间调度,可能会出现 A 任务在执行时获取的 token,因为在 B 任务执行时获取了新的 token,导致 A 任务中使用的 token 失效,导致调用失败。
解决方案:使用同一个 token 作为全局参数的不同任务,不要在同一个时间调度;或者使用一个父任务调用多个子任务。
4. 功能说明
例如有一个「参数赋值」在多个定时任务中都用到了,不想在多个定时任务中都维护,希望添加一个全局赋值参数,在多个定时任务中使用。
4.1 添加全局赋值参数
注:所有平台用户都有权限添加全局参数。
1)进入数据开发界面,点击
按钮,可进入全局参数配置界面。如下图所示:

2)点击「添加参数」按钮,可添加全局赋值参数。例如希望从数据库取出一列时间作为参数,给多个定时任务使用。
添加「赋值参数」,如下图所示:

3)选择需要设置参数的数据源,并取出指定数据,如下图所示:

| 设置项 | 说明 |
|---|---|
| 数据连接权限 |
|
| 参数值 | 在配置数据来源时,只能使用${cyctime}、${workname.opresult}、${workname.jobname.opresult}三个内置参数和全局静态参数,不能引用其他内置参数、自定义参数、全局动态参数 4.1.14.1 及之后版本,全局参数调试值的长度,最大为 2000 |
4)然后设置并输出参数,如下图所示:

| 设置项 | 说明 | ||||||
|---|---|---|---|---|---|---|---|
| 参数名称 |
| ||||||
| 可用范围 | 4.2.12.4 及之后版本,支持为赋值参数设置可用范围
| ||||||
| 其他设置项 | 与 参数赋值 相同,此处不做赘述 |
5)参数添加成功后,界面如下图所示:
注:参数列表中仅展示当前用户可用的参数。

4.2 使用全局参数
详情请参见:如何配置并使用参数、参数在FDL中的典型应用场景
4.3 管理全局参数
修改、删除、刷新全局参数请参见:全局参数
