<转发>kettle自动批量循环发送邮件

1、批量循环发送邮件应用场景:

比如:外贸公司希望监控客户的收款到账情况。单证登记每次报关合同,财务根据合同和客户登记收款明细。

客户少的时候,可以认为来盯。一旦,这些工作变成流水化作业,那人为监控变为不可能。现在系统需要监控每票合同的出货金额和财务登记的到账汇总数据。同一票合同号,如果出现[出货金额]>sum[收款金额],表明客户未正常收款。为了达到提前预警的效果,我们需要根据账期判断客户的最后付款时间,并且根据客户的最后付款时间,往前推15天,提醒业务员催款。这个时候就需要根据合同的不同归属,通知不同的业务员和具体付款时间。

2、解决几个要点

2.1、定时处理

kettle自带的定时处理,其开发公司也认为自己的定时调度作业较弱,建议用户使用其他定时处理方法。因为之前文章里讲解jenkins构建企业内部的定时调度作业平台,参考《企业内部构架ETL操作2-Jenkins篇》,搭建环境,在此不累赘。

其作用在于,设置调度kettle构造时间,完成定时处理作业功能

2.2、循环处理,并且发送邮件

此部分为文章核心内容:

2.2.1、扫描特定表单数据,提取所有的记录,并把查询的结果输出。

首先在kettle,新建一个转换,我们大致命名为【测试即将到期的客户清单】,选择【表输入】,拖到空白处,并且设置查询语句, 把合同号,业务员email,业务员提取出来;最后把【复制到记录结果】拖到空白处。把所有查询的结果,输出记录集。如下图1所示

select wxhtno,ywwemail,ywyname,balanceday,payday from cw_riskcontrol

图1

2.2.2、配置邮件

新建作业,暂时命名为【测试客户分控付款即将到期预警邮件发送】,参考下图,一次拖入【STAT】、【发送邮件】、【SQL脚本】、【完成】,组合成作业

这里主要是【发送邮件】配置。如图2

收件人地址:因为循环提取,在这里设置参数${YWYEMAIL}

回复名称和发件人地址,因为相对固定,可以直接设置好。

图2

图3

如图3:用户配置好邮件服务器smtp配置,一般企业都有自己的邮箱,可以根据实际情况设置。

最后配置邮件消息,主题和注释中,采用了一些参数${WXHTNO},${BALANCEDAY},${PAYDAY}

这些参数分表代表是合同号,剩余时间,实际付款时间,因为每个合同号都存在不同的时间点,需要从系统中直接提取,需要设置成变量。

图4

做完这些,保存作业后,还要配置作业的配置信息。右键点击空白处,点击属性,出现如图5,并且在命名参数中设置,设置大写作为参数变量,与sql查询字段保持一致

图5

2.4、拼接并设计完整的批量循环发送邮件的作业

图6

图6

图中的交换选择【测试即将到期的客户清单】, 邮件发送通知,选择的作业是【测试客户分控付款即将到期预警邮件发送】,并且把当前作业进行保存,命名为【客户风控逾期合同跟踪】。

截止到当前步骤,刚完成的步骤基本完成。如果现在执行,依然还是无法实现,我们批量循环发送邮件,还需要一个步骤配置。双击【邮件发送通知】,出现属性对话框,图7

图7

其中核心就是要把【执行每一个输入行】打勾,意味着查询多少个记录,就循环执行多少次。

3、在jenkins构建作业

进入自己搭建的jenkins平台,新建任务,如图8

输入名称,选择【构建一个自由风格的软件项目】,点击【确定】

图8

进入到配置页面,其中重要的是一个构建触发器,如图9

这个信息是早上的5点26日执行,而且是在工作日1-5执行。

jenkins有很多时间规则,网上也有很多,下次可以单独开篇幅讲解。

后续,在选择【增加构建步骤】,选择【执行windows批处理命令】

D:

cd D:\Program Files\kettle

kitchen.bat -rep:kettle -dir:/ -job:"客户风控逾期合同跟踪" -user:admin1 -pass:abcd1234 -level:Basic -log:D:\kettlebat\log\每日执行%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.txt

上面是一个批处理脚本,可以根据自己实际情况进行调整,因为公司内部,kettle所有配置信息都放在数据库中,需要从内部读取路径,设置账户和密码。另外输出执行脚本。

摘自kettle自动批量循环发送邮件

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容