任务调度quartz(二)一个简单的调度平台的实现

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kala 是用 Go 写成的简单的、现代的、高性能的工作调度,它没哟任何依赖。Kala 的灵感来自于 Chronos,Chronos 由 Airbnb 开发,它建立于 Mesos 的顶层,默认容错和分布式设计。这两个设计是 Kala 所没有的,因为 Kala 专为小型部署而开发。示例代码:ajvb$ curl http://127.0.0.1:8000/api/v1/job/ {"jobs":{}} ajvb$ curl http://127.0.0.1:8000/api/v1/job/ -d ' {"epsilon": "PT5S", "command": "bash /home/ajvb/gocode/src/github.com/ajvb/kala/examples/ example-kala-commands/example-command.sh", "name": "test_job", "schedule":  "R2/2015-06-04T19:25:16.828696-07:00/PT10S"}' {"id":"93b65499-b211-49ce-57e0-19e735cc5abd"} ajvb$ curl http://127.0.0.1:8000/api/v1/job/ {     "jobs":{         "93b65499-b211-49ce-57e0-19e735cc5abd":{             "name":"test_job",             "id":"93b65499-b211-49ce-57e0-19e735cc5abd",             "command":"bash /home/ajvb/gocode/src/github.com/ajvb/kala/examples/example-kala-commands/example-command.sh",             "owner":"",             "disabled":false,             "dependent_jobs":null,             "parent_jobs":null,             "schedule":"R2/2015-06-04T19:25:16.828696-07:00/PT10S",             "retries":0,             "epsilon":"PT5S",             "success_count":0,             "last_success":"0001-01-01T00:00:00Z",             "error_count":0,             "last_error":"0001-01-01T00:00:00Z",             "last_attempted_run":"0001-01-01T00:00:00Z",             "next_run_at":"2015-06-04T19:25:16.828794572-07:00"         }     } } 标签:Kala
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值