多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 功能介绍 ## 主界面 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/主界面.png) ## 参数设置 job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/参数设置1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/参数设置2.png) ## 定时设置 操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时设置1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时设置2.png) ## 运行与停止 核心功能就不说了。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/运行与停止.png) ## 强制结束 强制结束等待的作业,针对正常停止无效的情况。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/强制结束.png) ## 实时日志 实时查看作业运行日志,这个功能看起来不起眼,实际应该是很有用的。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/实时日志.png) ## 作业目录 获取作业目录。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/作业目录.png) ## 新建作业 支持页面新建特定类的作业,当前是四类。这些作业都支持页面修改。其中的KM作业是基于我的插件开发。这里的作业继承com.oss.job.AbsJob,这样的作业支持这里的KM作业,也支持下面的定时调度使用。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/新建作业1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/新建作业2.png) ## 删除作业 支持批量删除作业,这个很危险哦,小心使用,不会删除子转换和作业。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/删除作业.png) ## 失败重启 支持配置失败自动重启、将job_version字段作为作业类别使用,便于分类管理。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/失败重启.png) ## 定时调度 支持cron定时的调度,所有类必须继承:com.oss.job.AbsJob,作业支持参数配置,同一个类可以重复使用,传入不同的参数。这样开发的作业页支持用于上面的KM作业配置。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时调度1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时调度2.png) ## con设计 引入一个cron辅助设计模块 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/cron设计.png) ## 按顺序运行 我已经开发好了一个上面的KM作业:com.oss.job.KettleJobRunner,这样的作业可以作为KM作业使用,也可以用于定时调度使用。 这个作业已经包含在项目中了,可以直接使用。 请参考KM作业示例和定时调度示例。 ## 运行状态 作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。 完成作业状态更新,日志文件记录的类:com.oss.job.JobManager,使用方式与按顺序运行的作业类似,请参考使用。 为了使部署简单,项目默认不依赖我开发的插件,你不使用KM作业功能,就不需要我开发的插件,项目默认已经在定时调度配置了该作业,并默认运行。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/运行状态.png) ## 平台级日志 一般好的作业设计都会记录自己的日志表,详细记录作业运行状况,本平台提供了平台级日志功能,不涉及业务,记录了作业的开始停止时间,最终运行结果。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/平台级日志1.png) 日志文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。 该功能也是由com.oss.job.JobManager作业实现。与运行状态更新是同一个作业。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/平台级日志2.png) ## 业务日志 Km数据库中有一张我设计的专门用于记录业务日志的表:METL_KETTLE_LOG,这个表是根据我们平常设计作业的经验设计的,需要作业设计人员在设计作业时填充此表数据,本平台已经默认提供了此表的查询。 此日志与平台级日志是互补关系,此日志更详细,涉及业务,平台级日志是后盾,主要用于问题排查等。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/业务日志1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/业务日志2.png) ## KM作业示例 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/km作业示例.png) ## JS作业示例 该作业前部分操作基本与KM类似,区别在于具体的js基本配置 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/js作业示例.png) ## SQL作业示例 该作业前部分操作基本与KM类似,区别在于需要选择数据库,然后就是数据库脚本了 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/sql作业示例.png) ## Shell作业示例 该作业前部分操作基本与KM类似,额外的需要配置脚本运行路径,默认:/tmp。 作业在linux上运行就写shell脚本,在windows上运行就写bat脚本。 都比较直观,就不多说了。 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/shell作业示例.png) ## 定时调度示例 ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时调度示例1.png) ![image](http://blog.benma666.cn/project/kettle-manager/images/v0.2.0/定时调度示例2.png)