反馈已提交

网络繁忙

事件调度

  • 文档创建者:Roxy
  • 历史版本:11
  • 最近更新:Wendy123456 于 2024-09-09
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    功能说明
    4.1.4支持事件调度
    4.1.11.1

    事件调度优

    • 支持设置当前任务执行的条件,并配置上下游任务组

    • 支持重试当前任务以及下游任务,根据「事件调度」中配置的任务关系&条件内容,判断下游任务是否触发

    1.2 应用场景

    • 数仓构建过程中 ODS 层有 a、b、c 任务互不影响、DW 层有 d 、f 任务,需要 a、b 任务执行完触发 d 任务,来减少 DW 层对 ODS 层完全更新完等待的时间;若 a、b 执行失败则不触发,来避免数据准确性的问题。

    • 定时任务中设置任务 b 依赖任务 a(上午执行),希望在晚上(空闲时间)执行任务 b,而不是上游任务 a 执行完立即执行任务 b,避免造成资源紧张的问题。

    • 用户设置 a 任务触发 b 任务,若 a 任务失败,重跑 a 任务时,希望不触发 b 任务。

    1.3 功能简介

    FineDataLink 可设置任务的调度依赖,例如设置任务 A、任务 B 在指定的条件执行成功后再执行任务 C 以及后续任务。

    1.4 前提条件

    使用前需要确保注册了「调度计划-高级功能(试用)」功能点。

    1.5 升级兼容

    升级前的事件调度将有任务上下游关系的整合为一个事件调度;配置项升级后,任务执行条件判断时机默认为:实时判断;多任务触发关系默认为:实例可以重复判断。

    2. 功能说明

    2.1 事件调度

    属性
    说明
    当前任务信息

    展示需要被调度的任务,可新增、删除

    新增任务时仅支持选择已发布且未配置过事件调度的任务

    上游任务信息

    展示上游执行的任务,可新增、删除,可多选任

    新增任务仅支持选择已发布且未配置过事件调度的任务

    新增任务不支持选择依赖/调用成环的任务

    当前任务执行条件
    • 条件判断时机为「实时判断」,则设置条件内容后,满足条件内容的上游任务成功执行,则当前任务立刻执行。

    • 条件判断时机为「定时判断」,则可设置当前任务的定时调度策略

    触发逻辑:到达定时执行时间——>判断上游任务最新一次运行记录是否满足条件——>成功则触发一次下游任务,不成功则不触发

    上游设置条件内容后,满足条件内容的上游任务成功执行,则当前任务到达设置的定时调度时间后执行。


    • 触发当前任务组执行的上游记录,不再参与条件的判断:

    若勾选,则表示任务运行记录 仅判断一次:多个任务产生了最新&未成功触发过下游的运行记录。

    若不勾选,任务运行记录可以重复判断:可以重复使用最新产生的运行记录去判断


    下游任务当前任务执行成功后,后续执行的任务,可新增、删除。

    2.2 事件调度的其他功能

    1)手动运行

    生产环境下提供「运行当前任务及下游」操作,产生的运行记录根据「事件调度」中配置的任务关系&条件内容,判断下游任务是否触发,如下图所示:

    注:该次手动产生的运行记录(包含下游被本次拉起的实例)会参与事件调度条件内容判断(包含定时),判断使用成功触发下游过后不再使用本次的运行记录去参与判断。

    2)运行记录重试

    重试当前任务下,提供「重试当前任务及下游」操作,产生的运行记录,根据「事件调度」中配置的任务关系&条件内容,判断下游任务是否触发。

    应用场景:例如用户设置 A、B 任务触发 D 任务,A、B任务都失败,未触发下游任务 D,希望能够重跑任务,若两个任务均重跑成功则触发下游任务,就可以使用此功能。

    重试任务功能说明请参见:任务记录:重试任务

    注:该次手动重试产生的运行记录(包含下游被本次拉起的实例)会参与事件调度条件内容判断(包含定时),判断使用成功触发下游过后不再使用本次的运行记录去参与判断。

    3)权限

    事件调度中任一有管理权限的任务,支持查看该事件调度,对于画布中已有的&没有管理权限的任务不支持移动、删除。

    仅支持对有管理权限的任务配置触发条件,若该组中既包含无权限任务,又包含有权限任务,不允许对这个分组调整触发条件和添加、删除下上游任务,针对有权限任务可移动至新分组。

    针对当前组可添加、删除任务仅限,若上下游组有无权限任务则不支持添加、删除。

    2.3 特殊场景说明

    场景
    说明
    任务 A—>B—>C—>D,分别属于分组1、2、3、4,用户将 B 任务删除了

    但是 C 任务是有单独配置的定时调度的

    情况1:分组 2 里还有其他任务,不影响整个事件调度,校验通过

    情况2:分组 2 没有其他任务,整个事件调度在管理列表标红,事件调度编辑界面内校验,调度状态新增调度异常状态,整个调度事件失效,C 任务也不会触发 D

    3. 操作步骤

    例如用户已经创建了 ods 、dw 和 dm 层的几个任务,如下图所示:

    并且给 ods 层的任务设置了一个定时调度。希望能给 dw 和 dm 层的数据设置事件调度,在 ods 层任务指定条件下执行成功后再执行 dw 层以及 dm 层的任务。

    3.1 添加事件调度

    进入任务运维>定时任务>调度计划,点击事件调度并添加事件调度,如下图所示:

    选择事件调度当前任务,即需要被调度的 dw 层任务,如下图所示:

    3.2 设置当前和上游任务信息

    进入编辑界面后,选中分组,将当前任务信息修改为「dw层」,添加上游任务信息,将 ods 层任务添加进来,如下图所示:

    3.3 设置当前任务组执行条件

    设置当前任务组的执行条件,选择定时判断,设置当前任务执行的定时时间,并设置任务执行条件内容,如下图所示:

    3.4 设置下游任务信息

    设置 dm 层任务为当前任务被事件调度执行后继续执行的任务,如下图所示:

    然后就可以看到事件调度的界面,如下图所示:

    3.5 效果查看

    为 ods 层任务设置定时调度,需要注意的是如果事件调度设置的当前任务是定时调度,这个时间需要在 ods 定时调度时间之后,如下图所示:

    当 ods 层任务运行成功后,事件调度设置的 dw 层任务在调度时间将执行,若执行成功,同时下游的 dm 层任务也会实时判断并执行,如下图所示:




    附件列表


    主题: 任务运维
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭

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