反馈已提交

网络繁忙

调用任务

  • 文档创建者:Wendy123456
  • 历史版本:21
  • 最近更新:Wendy123456 于 2023-11-13
  • 1. 概述

    1.1 版本说明

    FineDataLink 版本功能变动
    3.2
    新增节点「调用任务」,可以在当前任务中调用执行其他任务,参数传递不支持跨层级,仅可传递给子任务,不可传递给孙任务
    3.7.1
    可实现参数跨层级传递
    4.1.1调用任务下拉框中,屏蔽成环任务

    1.2 应用场景

    用户希望可以在当前定时任务中调用平台内其他定时任务,被调用的任务被放到当前任务里编排,「调用任务」节点可满足该需求。

    注:支持可视化展示父子任务层级调用关系,用户可查看该定时任务被哪些任务调用,以及该任务调用了哪些任务。详情请参见:任务间调用/依赖关系展示

    2. 示例

    FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「调用任务-」

    2.1 场景模拟

    我们创建 2 个定时任务,父renwu子renwu父renwu中使用「调用任务」节点来调用子renwu,并且通过数据同步节点使用子renwu中生成的结果数据进行二次加工,获得最终需要的分析数据。

    22.png

    2.2 创建被调用任务

    1)创建一个 ETL 任务,重命名为子renwu,并将一个数据同步节点拖到设计界面,设置节点的数据来源,SQL 语句取出 sales 表中所有的数据,如下图所示:

    示例表数据:sales.xlsx

    1.png

    2)设置数据去向,将 sales 表中的数据同步到另一个数据库的表 salescopy 中,字段映射采用默认设置即可,如下图所示:

    3)保存这个任务即可。

    24.png

    2.3 创建执行调用的任务

    1)创建一个 ETL 任务,重命名为「父renwu」,并将一个「调用任务节点拖到设计界面,调用任务选择上面刚建好的「子renwu」,「子renwu」没设置参数,所以参数传递保持默认不勾选即可。

    「参数传递」介绍请参见本文第三章内容。

    4.png

    2)将一个数据同步节点拖到设计界面,设置数据来源,SQL 语句对子renwu生成的 salescopy 表的数据进行处理,统计出每个城市的销售总和。如下图所示:

    5.png

    3)如下图设置数据去向,使用自动建表将上面处理的数据保存到另一张表 staticsale 中去,字段映射采用默认设置即可。

    23.png

    4)使用线条将数据同步节点跟它的上游调用任务节点连起来;实际生产环境中,此时需要设置父renwu的调度配置,

    注:由于当前示例中,子renwu是被父renwu调用的任务,所以子renwu不需要设置调度配置,但是父renwu需要设置调度配置,父renwu每次执行会顺便拉起子renwu的执行。

    7.png

    2.4 运行任务

    1)点击右上角保存并运行,保存运行该任务,日志处出现执行成功信息表示任务成功运行,如下图所示:

    8.png

    2)可以看到数据库中多了一张父renwu数据同步节点生成的结果表 staticsale,城市销售总和数据已经存到该表中。

    9.png

    3. 功能说明

    3.1 设置项介绍

    1699844835786275.png

    3.1.1 调用任务

    下拉框选择其他定时任务,自身和没管理权限的任务不可选。

    4.1.1 及之后版本,调用任务下拉框中,屏蔽成环任务。示例:A 调用 B,B 调用 C ,C 不能调用 A。

    3.1.2 参数传递

    1)3.7.1 之前版本:

    默认不勾选,如果勾选了将当前任务的参数传递给子任务,那么定义的任务参数、参数赋值输出的参数都可以传递给子任务使用

    其他说明:

    • 勾选了参数传递,任务定义的参数,子任务可以直接使用,但参数赋值节点的参数只能被子任务的首个节点使用。

    • 参数传递不支持跨层级,仅可传递给子任务,不可传递给孙任务。

    2)3.7.1 及之后版本:

    默认不勾选,如果勾选了将当前任务的参数传递给子任务,那么定义的任务参数、参数赋值输出的参数都可以传递给子任务使用

    注:支持参数跨层级传递

    勾选后,界面如下图所示:

    1687142647243219.png

    参数赋值:仅所在的分支上游「参数赋值」输出的参数。参数赋值节点的参数可以被下游分支所有的节点使用,但是不可跨分支被其他节点使用

    任务参数:所有任务参数都可以选择传递给子任务

    跨层级传递逻辑说明:

    在选择参数传递给子任务时,只能选择本任务内已经定义好的参数,所以在超过两个层级的场景下:子任务想要用到父父任务里的参数,需要上层的两级任务均有同名参数,且都配置了传递给子任务

    示例:若任务 c 里有一个参数 p1 ,如果任务 a 也想用,那么任务 b 里也要有一个参数 p1 ,然后在任务 c 和任务 b 里都配置参数 p1 向子任务传递:

    1687142688619378.png

    3.2 日志说明

    日志逻辑
    示例
    调用任务仅展示调用节点的执行结果,不在父任务展示详细日志


    用户可跳转到被调用的任务查看具体的日志

    在下面示例中,任务运行后,日志只显示「调用任务-副本」节点是否运行成功

    20.png

    点击上图的「查看日志」链接,跳转到被调用的任务,查看具体日志

    21.png

    4. 注意事项

    4.1 参数名冲突

    子任务里参数可能会跟父任务传递过来的参数产生同名冲突的情况,当参数名重复时子任务各参数优先级如下:

    1)3.7.1 之前版本

    参数赋值 > 任务参数 > 父任务的参数赋值 > 父任务的任务参数 > 系统参数

    2)3.7.1 及之后版本

    参数赋值>父任务的参数赋值>父任务的任务参数>任务参数>系统参数

    4.2 任务调度冲突

    父任务和子任务都设置了调度,如果父任务执行时,子任务正在运行,此时父任务触发子任务,则会进入排队等待状态。

    父任务和子任务都设置了调度,多个父任务先后调用子任务时,子任务将排队执行。



    附件列表


    主题: 数据开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持