TASKCTL
作者TASKCTL·2020-11-24 10:48
数据库运维工程师·环赛信息技术有限公司

免费ETL调度工具Taskctl-Web应用版【作业设计】

字数 3853阅读 2640评论 0赞 0

认识 Taskctl-web

TASKCTL 遵循软件产品标准化的原则,以“专业、专注”为设计理念,结合ETL 调度领域自身的特点,构建了一套直观易 用的 ETL 控制容器调度设计、监控 维护、管理平台 taskctl-web-application 。

功能架构

通过上图了解到,taskctl-web-application 是 TASKCTL 中客户端应用软件家族 的重要一员。有三大功能模块:

  • 平台管理( Admin ):平台级配置信息管理。如网络节点管理,作业类型扩 展,工程管理,全局变量管理,调度元信息导入导出,用户及权限管理,消息接 口管理等。
  • 作业设计( Designer ):作业调度元信息设计。如作业控制容器(定时器 / 作 业流)的管理,作业关系、属性编辑,变量管理,作业组织模块管理等。
  • 运行监控( Monitor ):作业运行监控维护平台。对设计好的调度元信息进行 运行监控以及人工操作干预。对运行信息进行查询、统计、分析等。

系统特性

在 Windows 桌面客户端的基础上, TASKCTL 重新构建了一套基于 web 浏览 器的应用 taskctl-web-application 。它具有如下特性:

  1. 功能完整:实现了桌面客户端 Admin,Designer,Monitor 所有的功能(包括高级分析功能)
  2. 部署简单:采用安装程序一键部署应用,不需要部署额外的 web 容器
  3. 体验简洁:重新优化图形操作体验,简化操作步骤
  4. 合理导向:重新组织了页面 UE ,让每个操作自然流畅
  5. 性能卓越: 200k 带宽、单核处理器即可实现 10 个用户同时应用
  6. 稳定可靠:直接与调度服务核心通讯,信息更直接可靠。

软件安装&部署

登录界面

平台部署的时候,已经确定了调度服务端信息。因此不必再像桌面客户端一样需要输入调度服务端地址。

如上图所示:输入正确的用户名、密码点击 “登录”按钮,登录成功后,taskctl-web-application 将根据登录用户进行一系列的初始化操作,加载基本的运行信息。

主界面

成功登录后,即进入 taskctl-web-application 平台主界面。系统对各个组件进行了合理的初始化布局,如下图所示:

通过上图,我们可以直观的看到 Taskctl-web-application 具备了传统 web 应用软件的 “页头 banner “顶部导航”,以及主框架区域。

页面框架介绍

页头 Banner 与导航

提供了资源快速定位搜索框,消息提醒小红点以及当前登录用户信息。如下图所示:

消息提醒框

当 taskctl-web-application 检测到有最新未读的消息数目变化时,将在当前页面自动弹出系统消息提醒窗口。建议第一时间查看最新的消息详情

  • 单击消息框,自动跳转到 “我的消息”页面
  • 若点击 “叉”关闭消息提醒框后,系统将稍后再次提醒

作业设计 Designer

作业设计

在作业设计功能模块的首页,您可以看到资源视图,工程视图以及控制容器,切换到资源视图查看全部控制容器,切换到工程视图可以选择项目筛选其对应的控制容器。如下图所示:

资源视图

通过资源视图,可以快速的打开模块代码、树节点属性、流程变量等设计窗口。并直观的展示了工程到流程,流程到模块的树形结构。如下图所示:

资源视图拥有自身特有的工具栏,通过其工具栏按钮,可以方便地对资源树及其选中节点进行相关操作。

工程视图

工程视图与资源视图,唯一不同的是聚焦到某个选中的工程。

控制容器设计

TASKCTL 通过作业控制器来组织管理作业。作业控制器分为作业流和定时器。如果作业之间存在复杂的关系,如依赖、并行关系。请使用作业流来组织作业集。否则通过定时器来组织管理作业更方便。

小提示:通过定时器来调用子作业流实现作业调度自动化。

下面通过设计一个简单的作业流控制容器(以下简称 “作业流”)来了解下Designer 的操作和 TASKCTL 的一些功能特性。

设计案例描述

(一)作业程序清单

(二)依赖关系

(三)驱动方式

文件到达驱动。

新建作业流

通过在控制容器中点击 “创建作业流” ,跳转 “创建作业流”,如下图所示 (也可通过单击工程视图/ 资源视图下的“作业流”工具栏按钮 , 创建作业流)

  • 关注公众号 TASKCTL 回复: 3200 ,了解更多 “主控流程” 的信息
  • 更改作业流名称为 myflow1 , 单击保存
  • 单击 “跳转到私有变量”

私有变量设计

私有变量可通过已创建 “作业流 / 定时器管理” 中的跳转私有变量,也可通过工程/ 资源视图中的作业流 / 定时器等工具栏按钮单击 跳转。

  • 创建如上图所示的私有变量
  • 单击工程变量,可以跳转工程变量设计
  • 关注公众号 TASKCTL 回复: 3341 ,了解更多变量信息

    工程下所有控制容器都可以引用工程变量。通过合理的变量设计,能够让调度更灵活,更易迁移。

图形方式设计

作业流由一个启动模块或者再嵌套多个子模块组成,作业的开发设计主要通过模块设计器进行,而模块设计器提供了图形方式设计与模块代码方式设计。图形方式对新手用户更加友好,模块代码设计方式能提高进阶用户的设计效率。

图形方式设计布局

提供了切换图形方式设计与模块代码设计、作业节点搜索框、容器设计工具栏,组件工具箱、作业节点资源树,以及作业属性面板。

  • 容器设计工具栏 -> 容器设计过程中常用的功能,如重新转载、编译、私有变量、容器签入/ 签出
  • 作业节点树 -> 提供快速拖拽变更作业节点之间的 “串并”关系,关注公众号TASKCTL 回复: 3390 ,了解更多作业 ( 组 ) 节点类型信息

拖拽添加作业节点

给作业流添加作业节点时,从工具箱直接向右边的流程图中拖拽相应类型的作业。(注:拖拽到节点上时,绿色箭头提示可放置的方向),如下图所示

编辑作业节点属性

由于作业的属性相对较多,为了方便我们熟悉作业属性的操作, TASKCTL 根据作业属性特征,按用途分为“What -- 基本属性” How -- 控制属性” Where -- 目标主机属性” Misc -- 杂项属性” 等。另外某些属性还具有复合(继承 -inherit、缺省 -default 、自定义 -self 特征。

  • 在定义作业节点属性时,需要理解普通属性与复合属性的区别,关注公众号TASKCTL 回复: 3504 ,了解更多 “复合属性”信息
  • 分别定义 ’myflow’ 流程的各个作业节点。定义如下:

通过以上定义后,模块作业关系图与节点树如下图所示:

说明

  1. 作业串并关系图中关系通过线条表达,且图中不出现串并节点
  2. 节点树中包含串并节点,且作业的串并关系通过上级串并组节点决定

关系定义

设计案列描述中的关系定义

调整串行组( dsjob1 > oraproc1 )与 dsjob2 形成并行关系,操作如下步骤:

  1. 拖拽 dsjob2 到 dsjob1 下方,弹出并行关系确认对话框
  2. 选择 oraproc1 为并行关系结束点

  1. 单击确定,完成关系定义如下图:

上述步骤也可通过作业资源树完成,作业节点资源树能辅助流程图,选中串并组作业节点,拖拽整组调整串并关系,如下图所示

模块代码方式设计

设计布局

在上述图形方式设计时,可以通过单击模块代码按钮进入代码编辑模式。

  • 控制台输出,可以通过拖拽改变高度,也可单击右方的箭头按钮改变内置高度
  • 代码编辑区,右键打开代码编辑区上下文菜单

    注意

  1. 快捷命令有时无效时:
  2. 请先单击代码编辑区,让其获取焦点,再重试快捷命令

作业节点定义

串并关系定义

定时器设计

定时器的设计步骤与作业流类似。在创建好定时器后,进入其主模块视图设计窗口。

在定时器中通过 parallel 并行组,来实现不同运行频率作业的分组。点击分组框中的+ 号创建分组。

创建好分组后,需要事先对分组的运行频率进行设置。然后参考之前章节设计作业流的方式,设置各个作业的属性即可。

编译

在控制容器设计后,需先提交本地更改,才能执行远程编译。 ( 注意 : 在资源视图/ 工程视图中工具栏中单击编译 , 都是编译最近一次提交,本地如有更改,请先提交。)

提交

查看本地是否有变动(本地可提交状态),如下图所示:

编译

单击提交后,编译按钮变为可点击状态。单击编译按钮,进行服务远程编译并结果输出,如下图所示:

调试

当控制容器编译成功后,可以选中作业节点进行运行调试。

请注意:在 Designer 只能对单个作业进行调试,如果要实现对整个作业流进行从头到尾运行测试,请发布作业流到运行监控环境再执行启动操作。

发布

把编译成功的作业流发布到运行监控区,才能对作业流进行调度监控,如下图所示:

发布成功后,将形成历史归档,如下图所示:

小提示:通过历史归档,可以回退到之前发布的版本。

签入与签出

为了实现团队协同, Designer 采用签入签出机制来保障调度元数据的原子性。在需要操作的时候,软件会自动提示用户是否需要签出以获取编辑权限。

签出成功后,资源信息以绿色字体表示可以进行编辑操作。

当被其它用户签出后,资源信息以黄色字体表示不能进行编辑操作。

需要待其它用户签入后,当前用户才能获取编辑权限。请注意:如果在线平台被非法关闭(如浏览器崩溃),当前签出的资源将丢失编辑权限,系统将在 30 分钟后自动签入,届时才能再次签出。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广