ETL工具-Taskctl在Windows作业类型的使用(Soap服务驱动)

  • Post author:
  • Post category:其他

TASKCTL服务端部署在Linux端,因此不能直接调用Windows环境的作业。从taskctl6.0.2开始,推荐采用基于web服务的taskctl-plugin-windows插件服务来驱动Windows平台的作业。

安装taskctl-plugin-windows服务

1 确保安装环境(windows)具备java1.8+版本。

2 下载 taskctl-plugin-windows.zip,解压后进入目录,以管理员身份执行install命令

3 按照install程序提示,确定安装信息:

图片

4 安装完毕!生成cprunsoapwindows.sh文件(注释部分已含调度示例,请查看)。

5以管理员身份执行startup命令启动插件Soap服务。

 

在Admin中配置插件

1 拷贝生成的cprunsoapwindows.sh至调度服务(或代理)端插件目录,例如:

$TASKCTLDIR/src/plugin/ms-windows/shell/cprunsoapwindows.sh

2 添加mscmd作业类型的执行程序为新插件。

图片

至此,taskctl-plugin-windows插件的安装与配置过程完毕。

 

作业是什么(what)

(一) 主要属性xml标签:

.mscmd表示是一个windows环境中可执行程序作业类型

.name: 作业名称,在一个容器(流程或定时器)中不能重复

.progname被调windows程序的完整路径及名称

.parawindows程序的入口参数(基于bat批处理脚本规则,参数最多不超过9个)

.exppara: 插件脚本cprunsoapwindows.sh二次开发扩展使用

.jobdesc作业描述信息

 

(二) 调度示例:

调度范例请参考cprunsoapwindows.sh注释部分

图片

作业在哪里运行(where)

1 对于单机调度模式来,不用关心作业在哪里运行. 系统缺省就在调度服务本地环境运行。

2 如果您的作业不在调度服务环境,而是在远程指定代理环境,我们就需要定义agentid 。

3 windows作业类型目前不支持无代理模式。hostuser属性无效。

具体参考: 作业属性-agentid&hostuser

 

控制策略-作业在什么情况下运行(how)

在TASKCTL中,一旦您完成以上定义,作业就具备基本的运行条件。对绝大数作业定义来说,无需更多作业控制策略的定义。

如果在一个串并流程中,如果您需要对某些作业做更多的控制,比如,错误自动重跑,特别的执行计划等。这时候,就需要设置更多控制属性。

具体参考:作业属性总体概述中的-控制策略

 

关于windows作业返回值的申明

对于windows作业返回值,由windows作业对应的驱动插件决定。windows作业执行成功返回0,错误返回1。

 

使用要点及相关知识

1.Windows插件服务采用utf-8编码。

日志乱码请参见:日志乱码解决方法

2.Soap服务默认端口为18561,需开放此端口

3.若需中断JOB作业,请仿照步骤二配置cpstopsoapwindows.sh插件。


版权声明:本文为u010192213原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。