1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.1.8.1 | 新增动态赋值参数设置功能 |
4.1.13.2 | 配置方式为「选表」时,支持选字段 |
4.1.14.1 | 全局参数调试值的长度,最大为 2000 |
1.2 应用场景
当多个定时任务需要使用相同的参数赋值时,如果参数需要修改,每个定时任务都需要进行修改,实现过程比较麻烦;希望多个定时任务可以调用同一个参数,这样只需要修改该参数就可以达到修改所有定时任务参数的目的,提高维护任务的效率。
例如有一个「参数赋值」在多个定时任务中都用到了,不想在多个定时任务中都维护;或者在多个定时任务中都需要调用API,在正式调用API前都需要调用获取token的API。
1.3 功能简介
支持设置赋值全局参数,该动态参数可在多个定时任务中使用。
2. 使用需知
1)全局参数可被当前工程所有定时任务使用。
2)全局参数的使用与其他已有类型参数(动态参数、父任务参数、任务参数、内置参数)一致,在支持引用参数的配置项中,通过${参数名称}或'${参数名称}'进行引用。
3)当全局参数与其他类型参数同名时,优先级如下:
「参数赋值」设置的参数>调用任务中父任务参数>「自定义参数」>全局参数>「内置参数」
4)资源迁移 中,暂不支持全局参数的导入/导出。
5)「循环容器」遍历对象支持选择动态全局参数。
若循环容器使用该全局参数遍历执行&循环容器里有全局参数非循环参数,则任务执行前计算出该全局参数值再循环运行,容器中节点引用该参数时不重复计算参数值。
6)数据连接权限说明:
定义全局参数时,可选数据连接取决于该用户的数据连接使用权限,同定时任务选择数据源。
用户可以查看/引用所有全局参数,即使没有对应数据连接的权限。
引用全局参数时,如果没有对应数据连接权限,任务也可以正常运行使用。
7)任务执行:
所有全局参数在整个定时任务实际开始运行前执行,计算出所有全局参数值后,再运行设计好的定时任务。
当前任务所有的执行记录,都包含全局参数的执行过程,比如执行记录中开始时间从执行全局参数开始;当全局参数的节点在执行时,全局参数执行失败没有结果时,当前节点执行报错。
注:当A任务执行时,运行全局参数得到结果b1,在此期间,C任务也执行了全局参数得到结果b2,在A任务中一直使用结果b1。
8)参数在 FDL 中的应用场景请参见:参数在FDL中的典型应用场景
3. 注意事项
针对设置全局参数为 token,刷新 token 后老 token 会失效的第三方接口,如果两个使用 token 参数在相同时间调度,可能会出现 A 任务在执行时获取的 token,因为在 B 任务执行时获取了新的 token,导致 A 任务中使用的 token 失效,导致调用失败。
解决方案:使用同一个 token 作为全局参数的不同任务,不要在同一个时间调度;或者使用一个父任务调用多个子任务。
3. 操作步骤
例如有一个「参数赋值」在多个定时任务中都用到了,不想在多个定时任务中都维护,希望添加一个全局赋值参数,在多个定时任务中使用。
3.1 添加全局赋值参数
注:所有平台用户都有权限添加全局参数。
1)进入数据开发界面,点击按钮,可进入全局参数配置界面。如下图所示:
2)点击「添加参数」按钮,可添加全局赋值参数。例如希望从数据库取出一列时间作为参数,给多个定时任务使用。
添加「赋值参数」,如下图所示:
选择需要设置参数的数据源,并取出指定数据,如下图所示:
设置项 | 说明 |
---|---|
参数名称 |
|
参数值 | 在配置数据来源时,只能使用${cyctime}、${workname.opresult}、${workname.jobname.opresult}三个内置参数和全局静态参数,不能引用其他内置参数、自定义参数、全局动态参 数 4.1.14.1 及之后版本,全局参数调试值的长度,最大为 2000 |
然后设置并输出参数,如下图所示:
注:这里的配置项与 参数赋值 相同,此处不做赘述。
3)参数添加成功后,界面如下图所示:
3.2 修改/删除全局参数
3.2.1 修改全局参数
1)进入数据开发界面,点击按钮,可进入全局参数配置界面。如下图所示:
2)点击「修改」按钮,即可修改全局参数。如下图所示:
3)修改全局参数后,「修改记录」列点击「展开」按钮,可查看修改记录。如下图所示:
3.2.2 删除全局参数
点击「删除」按钮即可。如下图所示:
3.3 搜索全局参数
1)进入数据开发界面,点击按钮,可进入全局参数配置界面。如下图所示:
2)可在搜索框中搜索全局参数。如下图所示:
4. 后续步骤
设置好的全局参数即可在数据开发的定时任务中使用,如下图所示: