楼主: thinsiony

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

[复制链接]
论坛徽章:
0
21#
发表于 2013-3-11 09:51 | 只看该作者
gaoxsong 发表于 2013-3-4 17:13
请问插件怎么写的呢?搞了半天没有搞出来

我在官网写了个例子,简单说下步骤:
1.因为自己的FTP程序也是通过命令行来执行的,我参照了cprunsh.c这个插件。
2.在插件目录下建立了一个叫"cprunftp.c"的文件。我是直接复制了cprunsh.c这个文件为cprunftp.c,然后修改myprog函数体。说白了就是拼接了一个供命令行执行的字符串。
3.在makefile文件里面添加了如下生成项:
cprunftputjob: cprunftputjob.o
        $(CC) $(CFLAGS) -o cprunftputjob cprunftputjob.o $(LIBS)
        mv cprunftputjob $(PRODUCTDIR)/bin
(可参照cprunsh,很简单)
4.make一下.
6.在桌面软件添加一个runftp任务类型信息。(要先停止一下调度服务器)
7.现在就可以直接像其它的任务插件一样使用自定义的ftp任务插件了。

当然,在任务插件里面可以根据任务的返回信息来进一步加强插件功能。比如一些任务执行异常的控制等等。
不得不说TASKCTL的调度功能确实比较强大,现在还是新手,继续学习ing~

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2013-3-19 10:24 | 只看该作者
taskctl里面有个插件可以调datastage任务。有同学试过吗?

使用道具 举报

回复
论坛徽章:
0
23#
发表于 2013-3-26 14:54 | 只看该作者
表示试过...可以的...

使用道具 举报

回复
论坛徽章:
6
2010新春纪念徽章
日期:2010-03-01 11:19:072012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
24#
发表于 2013-3-28 13:57 | 只看该作者
本帖最后由 furanger 于 2013-3-28 13:57 编辑

目前我还没看出如何批量管理输入和输出参数,通过参数化来进行批量任务的方法(本人生手) =.=

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2013-4-1 16:35 | 只看该作者
furanger 发表于 2013-3-28 13:57
目前我还没看出如何批量管理输入和输出参数,通过参数化来进行批量任务的方法(本人生手) =.=

我们是通过任务的para属性来做输入参数,任务的返回值定义来做输出参数的。

管理批量参数的话,任务与任务之间的参数传递,就用流程变量。

不知道你是不是说的这个?!

使用道具 举报

回复
论坛徽章:
0
26#
发表于 2013-4-1 16:45 | 只看该作者
xc20494580 发表于 2013-3-26 14:54
表示试过...可以的...

呃~兄弟你回答得太晚了...
花了点时间把终于datastage任务调通了。自己做也挺有成就感的

使用道具 举报

回复
论坛徽章:
6
2010新春纪念徽章
日期:2010-03-01 11:19:072012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
27#
发表于 2013-4-2 09:49 | 只看该作者
mentaluofu66 发表于 2013-4-1 16:35
我们是通过任务的para属性来做输入参数,任务的返回值定义来做输出参数的。

管理批量参数的话,任务与 ...

多谢^^
差不多是这个意思^^
要是通常一点说的话就是
比方说这个任务的para属性可不可以用一个list 或是数据库,或是一个长串,中间用<,>号分开什么的,来运行一连串任务
任务名 ayJob
参数  name:张三,王五,赵六,何鑫
就分别用这四个参数跑四次这个任务.

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
28#
 楼主| 发表于 2013-4-2 20:53 | 只看该作者
28楼的兄弟,你提这个需求taskctl是可以做到的。而且我认为这个有很多解决方案,在此,我以shell类型任务给两个解决方案。
方案1
     a. 你的shell程序这样写:
       入口参数:循环编号
       程序中, 你可以根据循环编号参数方便对应张三,王五,赵六,何鑫
    b. 你的流程代码中para属性这样配
       <sh>
               <name>  ayJob</name>
               <progname> $shelldir/myshell.sh</name>
               <para> $cycle</para>    <!-- cycle是TASKCTL内置参数, 即当前循环批次数-->
               <cycle>4</cycle>          <!-- 表示该任务在该流程一个批次中要循环4次-->
      </sh>
方案2
     a. 你的shell程序这样写
         入口参数:循环批次号:[name1,name2,name3,name4,....]
         在程序你该知道怎么办了吗,根据循环批次号解析入口参数不就可以了吗
     b. 你的流程代码中para属性这样配
       <sh>
                          <name>  ayJob</name>
                         <progname> $shelldir/myshell.sh</name>
                         <para> $cycle:[张三,王五,赵六,何鑫]</para>    <!-- cycle是TASKCTL内置参数, 即当前循环批次数-->
                         <cycle>4</cycle>          <!-- 表示该任务在该流程一个批次中要循环4次-->
            </sh>

使用道具 举报

回复
29#
发表于 2013-4-9 22:43 | 只看该作者
TASKTL不错,文章也不错,支持一下
Control-M卖几百万,让我们国家流失多少啊,大家何不支持国产,让TASKCTL更为壮大,让我们的软件也去赚赚它们的钱钱

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2013-4-12 15:18 | 只看该作者
下来试试

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表