工具地址:去公众号【taskctl】回复内容 "软件" 即可免费永久授权

在TASKCTL中,如果我们自定义增加一种全新的作业类型。

需要三个步骤: 

  1. 编写驱动插件
  2. 部署驱动插件
  3. 配置作业类型

编写插件

作业驱动插插件机制,是TASKCTL最重要的机制,同时,也是一种非常简单的机制。看完这篇文章即可轻松制作自己的各种插件,可以完成各种类型的作业调度。

首先,我们通过一个示意图来了解TASKCTL对各种作业类型的调用过程,并理解什么是插件,以及插件的作用。

整个过程的解释如下:

第一步:调度核心发起一个作业的调度请求,并将A类型作业A_JOB1的完成描述信息传递出去。

第二步:在具体的执行节点代理端(哪个执行代理,由A_JOB1的agentid属性决定),一个叫ctlcpg的组件会接收第一步ctlfdc发出执行指令信息,并立即调用相应的插件程序(一般情况下,插件程序就是一个shell脚本),同时,将完整的A_JOB1描述信息传递到该插件。

第三步:A插件程序通过统一入口参数接收完整的作业信息,解析该信息,并执行具体作业程序A_JOB1。

第四步:A_JOB1作业程序根据插件传入的参数,做具体的业务处理。

由上可知,插件本质就是一个脚本程序(TASKCTL的插件不仅限于shell脚本,也可以是C程序),它根据统一参数接口获取信息,并解析出具体的作业程序名称、作业参数以及相应的环境信息等,同时,根据这些信息运行相应的作业。

为什么说TASKCTL插件很简单

试想一下,如果给足够的信息,我们一定可以快速通过一个shell脚本运行一个具体的作业。而有了驱动插件程序,只需简单的配置,我们就可以使用指定的作业类型。

插件的核心---统一的接口,它是怎么描述各种作业的完整信息

(一)  插件程序的6个统一入口参数,以及与作业定义属性的一一对应关系

1. 每一种作业类型的插件都会通过插件脚本传入6个参数。

2. 通过对应关系,系统自动将作业定义的progname、para、exppara、hostuser四个属性,完整地传入相应的插件程序。

3. progname、para、exppara、hostuser具体表达什么,具体格式规则是什么,这就是插件与Designer应用之间的约定。总之,插件按具体约定规则,通过这四个属性,可以解析出描述一个作业的完整信息,并且,插件可以根据这些完整的信息,运行具体的作业程序即可。

4.hostuser,是用于无代理执行的属性。如果该作业类型不提供无代理执行机制,该接口就不用;同时,在作业定义时,也不用定义hostuser属性。

作业日志统一获取接口

作业日志查看,是调度的重要的功能之一。

如果自己开发驱动插件,并自己定义一种相应的作业类型,要怎样处理,才可以在taskctl中查看作业的具体运行日志?

1 凡是通过插件运行的程序,只要是标屏显示的日志,TASKCTL即可自动捕获。

2 如果你的具体作业程序未将日志标屏输出,那么,在插件中,就需尽最大的可能,获取日志,并将该信息输出到屏幕。否则,在TASKCTL中,就无法查看相关作业类型的作业运行日志。

插件脚本举例

在taskctl产品服务端,自身带了很多作业类型以及相应的插件驱动程序,我们只要简单分析一下这些驱动程序,即可理解。

在此,给大家推荐一下几个具有代表性作业驱动程序。

1 python 【python作业类型】

插件路径:

$TASKCTLDIR/src/plugin/python/shell/cprunpython.sh

2 ktrjob 【kettle 转换类型】

插件路径:

$TASKCTLDIR/src/plugin/ktrjob/shell/cprun ktrjob.sh

3 oraproc 【oracle存储过程】

插件路径:

$TASKCTLDIR/src/plugin/oraproc/shell/cprun oraproc.sh

插件配置-定义作业类型

插件开发完后,需要部署插件、定义作业类型等操作。

部署驱动插件

一般情况下,插件就是一个shell程序。编写完后,我们需要将插件程序部署到TASKCTL服务节点以及相应代理节点。

从理论上,我们可以将插件部署到TASKCTL安装用户的任意目录。但为了管理方便,我们还是遵循TASKCTL的一些管理规范。TASKCTL自身带了很多作业类型及其驱动插件,统一存放到$TASKCTLDIR/src/plugin下,并按每一种作业类型建立子目录存放。

 配置作业类型

用admin用户登录桌面客户端admin组件,
进入以下界面即可配置。

关键定义项说明:

类型名程,为自己的作业类型改一个名称,比如mysql等。

驱动定义,执行方式选择shell, 执行程序填写您插件程序部署的全路径。停止方式选command(如果您自定义一个停止插件也可以)

3. 高级定义,一般采用缺省即可。

保存完毕后,您重新打开Designer,就可以看到您所添加的作业类型。

 Designer中使用新建作业类型mysql

1 工具箱中出现新的作业类型mysql

2 代码中可以输入mysql作业类型

3 流程图中出现mysql作业节点

批量调度工具 Taskctl 作业类型的维护管理相关推荐

  1. 【国产】大数据自动化运维调度工具TASKCTL流程触发方式

    关于TASKCTL TASKCTL是塔斯克信息技术有限公司,专为数据仓库批量调度自动化打造的一款[国产免费]企业级调度管理监控平台:该平台拥有完善的体系.全面的功能.简易的操作和超前的设计风格,使产品 ...

  2. 批量作业调度工具 Taskctl 定时器及模块之间的区别

    软件获取:去公众号 "taskctl" 回复内容 "领取" 或 "软件" 即可 主流程.子流程.定时器都属于控制容器:而每个控制容器,包含一 ...

  3. ETL批量作业,批量任务,批量数据挖掘免费调度引擎工具Taskctl Web应用版

    从这获取:去公众号[taskctl]回复内容 "软件" 即可免费永久授权 认识 Taskctl-web TASKCTL 遵循软件产品标准化的原则,以 "专业.专注&quo ...

  4. 批量处理作业调度工具Taskctl的Kettle转换作业类型的使用(soap服务驱动)

    工具下载:去公众号[taskctl]回复内容 "软件" 即可 TASKCTL默认采用pan命令方式调度kettle转换作业.除此之外,我们还提供了taskctl-plugin-ke ...

  5. 免费ETL调度管理平台,自动化运维工具 TASKCTL 8.0作业设计功能使用

    TASKCTL 8.0 8.0是一款基于B/S架构[轻量企业级免费ETL任务批量处理工具]它支持各类脚本任务程序和扩展:具备可视化图形拖拽设计界面,以及可视化任务作业管理.计划调度.实时监控.消息提醒 ...

  6. 0元永久授权,etl作业批量调度必备软件 Taskctl Free应用版

    目录: 写在前面 关于taskctl Free应用版 功能特性与授权 Taskctl 在线应用简介 安装环境 安装方法与步骤 0元授权 写在前面 2020年疫情席卷全球,更是对整个市场经济造成了严重影 ...

  7. ETL工具—Taskctl 如何搭建配置作业类型的管理

    在TASKCTL中,如果我们自定义增加一种全新的作业类型.需要三个步骤:(1) 编写驱动插件:(2) 部署驱动插件 (3) 配置作业类型 工具地址:去公众号[taskctl]回复内容 "软件 ...

  8. ETL作业调度软件TASKCTL自定义扩展作业类型插件安装

    TASKCTL批量自动化调度作业类型扩展插件的安装方法如下几种: 1. 直接覆盖法 直接覆盖法的意思就是将自定义扩展好的插件,通常是一个shell脚本,上传至后台调度核心服务上,然后修改后台任务类型的 ...

  9. 免费etl工具Taskctl—Web版【作业设计】

    软件下载地址:去公众号 "Taskctl" 关键字回复 "领取" 即可获得永久授权并使用 认识 Taskctl-web TASKCTL 遵循软件产品标准化的原则 ...

  10. ETL调度工具中美PK ( TASKCTL VS Control-M)

    美方:Control-M  ( www.bmc.com) 中方:TASKCTL  ( www.taskctl.com ) 毫无疑问,Control-M作为美方代表当之无愧, 因为该软件不仅是美国国内最 ...

最新文章

  1. Java集合框架:EnumMap
  2. Why HashMap Extends AbstractMap and Implement Map
  3. Docker部署Jmeter 性能监控服务(常用命令)
  4. C++深入理解虚函数
  5. 解析 Java 类和对象的初始化过程 由一个单态模式引出的问题谈起
  6. 11月16日bd之旅意外参加黄波博士讲座
  7. bat批处理教程 24
  8. 蔡高厅老师 - 高等数学阅读笔记 - 16 定积分的应用(旋转积、平面曲线的弧长、阿基米德螺旋、旋转体的侧面积、定积分物理应用-变力做功) -(71、72、73)
  9. 原来AI可以这样学?让人欲罢不能的AI学习神器!
  10. qt connect函数_Qt Inside信号和槽之connect
  11. python小人画爱心_使用Python画出小人发射爱心的代码
  12. 比 Hive 快 500 倍!大数据实时分析领域的黑马
  13. 基于高光谱技术的农作物常见病害监测研究
  14. Invalid escape sequence(valid ones are \b \t \n \f \r \ \' \\)
  15. php 的sentmail支持ssl吗_php 的swoole 和websocket 连接wss
  16. 【数学模型】商人们怎样过河?
  17. xposed框架_无需Root使用Xposed框架、功能非常强大
  18. 研发项目wbs分解简单案例_做项目WBS(工作分解结构)
  19. html代码清明节,清明节网上祭祀网站登陆地址:http://www.tsingming.com/index.html
  20. js 格式化金额方法

热门文章

  1. matlab差分法解拉普拉斯方程,拉普拉斯方程有限差分法的MATLAB实现
  2. 计算机网络 复习提纲(完整版)
  3. windows - cmd常用操作命令 (dos窗口)
  4. 汉王考勤管理系统 与服务器连接失败,汉王考勤管理系统
  5. Java之简单人机五子棋(一)
  6. 恭喜你!看到了这篇靠谱的12款CAM软件测评(下篇)
  7. 视屏剪辑软件(Pr)Premiere Pro CC 2018安装教程:
  8. NMEA的GPGGA数据包解析 字符转数字
  9. 禁忌搜索算法(TS)
  10. 了不起的 Deno:带你极速获取各大平台今日热榜