奋战了几个大概三个星期,终于实现了一个简单的调度平台。不过完全凭自己的个人能力是不可能完成的,笔者是参照公司的项目,学习其中的思想和技术。然后,再融入自己的一点想法,加以改造,就实现了一个比较简单的调度平台,同时也非常佩服这些有想法的技术牛人。
首先,来看看一点小成果,截图如下:
这是通过javamail发送的邮件,用自己的qq邮箱通过qq smtp服务器发送到笔者的163邮箱。
这就是调度平台的任务执行记录页面。
这是一个excel表格,记录兄弟朋友的生日。
接下来,笔者稍作整体。
整个平台分为数据处理和任务调度两个部分,数据处理用来完成自己想要干的事,比如上面就是每天查看有谁过生日,然后便发送邮件提醒,其实就是一个可执行的jar。任务调度的目的是用来调度执行这个数据处理,并监控其执行状况,因为有些数据处理可能定期需要执行,你不可能每天手动使用java -jar来执行这个应用程序吧,所以使用调度的方式,就可以方便的管理这个数据处理的执行。
由于此调度平台涉及的点还是挺多的,不可能一一谈到,这里笔者关键谈这种的思想,因为技术是死的,思想是活的。有些棘手的问题,只要我们有了一个好的思想,那么问题就变得很清晰明了。
笔者使用了两个项目,一个项目是个普通的java项目,用来编写数据处理;另一个是web项目,用来调度这些数据处理。当然这两个项目会有交互,调度平台会发送请求调用执行这个jar,然后这个jar在执行的开始和结束的时候也会回调这个调度平台来告诉调度平台此数据处理的执行状态。
这里笔者会约定,把所有的数据处理放在applications目录下。
然后,通过新增来配置这个任务,如下图:
这个调度平台主要使用的技术是quartz,然通过代码执行java -jar来调度数据处理。
就讲到这儿了,其实,没有那么复杂,关键学的是一种处理思想,为什么要这样做,这样做有什么好处?有啥不清楚的欢迎留言!
任务调度quartz(二)一个简单的调度平台的实现
最新推荐文章于 2024-08-14 19:35:23 发布