Play 1.x框架学习之四:定时作业调度 (job scheduler In play framework)
2017-01-13 17:57
621 查看
Play框架提供了定时执行任务的功能模块,也就是Job。大家可以用来做一些定时的任务,如数据汇总,定时同步等。play使用了Quartz项目。可以轻松地定制调度任务的时间。Play框架还预置了几种调度方式,如项目启动调度,启动异步调动,每多少时间调度,和通用的Quartz调度设置。
首先我们看看启动调度,启动调度是同步于项目启动:
还有启动异步调度:
然后还有每多少时间调度:
还有通用的Quartz调度:
控制台的打印:
Quartz 是个开放源码项目,提供了丰富的作业调度集。上面表达式中@on注解对应的字段是: Seconds Minutes Hours DayofMonth Month DayofWeek Year(year为可选字段,一般可以省略) 如:0 28 11 ? * * :每天11点28分 24 30 1 ? * WED : 每周三1点20分24秒
更详细的介绍可以查考官网: http://quartz-scheduler.org/
IBM的developerworks中也有文章: http://www.ibm.com/developerworks/cn/java/j-quartz/index.html
百度文库中的介绍: http://wenku.baidu.com/view/0e3b19e6f8c75fbfc77db22a.html
首先我们看看启动调度,启动调度是同步于项目启动:
package job; import play.jobs.Job; import play.jobs.OnApplicationStart; @OnApplicationStart public class JobOnStart extends Job{ @Override public void doJob() throws Exception { super.doJob(); System.out.println("Hello Job!"); } }
还有启动异步调度:
package job; import play.jobs.Job; import play.jobs.OnApplicationStart; @OnApplicationStart(async = true) public class JobOnStartAsync extends Job{ @Override public void doJob() throws Exception { super.doJob(); System.out.println("Hello Job, this is a async!"); } }
然后还有每多少时间调度:
package job; import play.jobs.Every; import play.jobs.Job; @Every("1min") public class JobOnSomeTime extends Job{ @Override public void doJob() throws Exception { System.out.println("Hello Clock! Minute Over!"); } }
还有通用的Quartz调度:
package job; import play.jobs.Job; import play.jobs.On; @On(value = "0 28 11 ? * *") public class JobOnCommon extends Job{ public void doJob() throws Exception { System.out.println("Hello 11:28!"); } }
控制台的打印:
11:26:17,730 INFO ~ Application 'Proto' is now started ! Hello Job! Hello Job, this is a async! 11:26:17,903 INFO ~ Listening for HTTP on port 9000 ... Hello Clock! Minute Over! Hello 11:28! Hello Clock! Minute Over! Hello Clock! Minute Over! Hello Clock! Minute Over!
Quartz 是个开放源码项目,提供了丰富的作业调度集。上面表达式中@on注解对应的字段是: Seconds Minutes Hours DayofMonth Month DayofWeek Year(year为可选字段,一般可以省略) 如:0 28 11 ? * * :每天11点28分 24 30 1 ? * WED : 每周三1点20分24秒
更详细的介绍可以查考官网: http://quartz-scheduler.org/
IBM的developerworks中也有文章: http://www.ibm.com/developerworks/cn/java/j-quartz/index.html
百度文库中的介绍: http://wenku.baidu.com/view/0e3b19e6f8c75fbfc77db22a.html
相关文章推荐
- 通过Job,Trigger,Scheduler看Quartz2.x作业调度框架
- 作业调度框架 Quartz 学习笔记(六) -- job生病了(抛出异常)时的处理
- 作业调度框架 Quartz 学习笔记(六) -- job生病了(抛出异常)时的处理
- 作业调度框架 Quartz 学习笔记(六) -- job生病了(抛出异常)时的处理
- Quartz.NET(作业调度框架) 学习笔记(二)【Hello Job】
- Quartz.NET – .Net平台作业调度组件(Enterprise Job Scheduler for .NET Platform)
- 作业调度框架 Quartz 学习笔记(五) -- 错过的任务怎么办?
- 作业调度框架 Quartz 学习笔记(一) -- HelloWorld !!!
- 作业调度框架 Quartz 学习笔记(三) -- Cron表达式
- dbms_scheduler包中job(作业)学习
- 作业调度框架 Quartz 学习笔记(四) -- 接收参数和维护状态
- C# 写的工作任务 Job 定时调度框架 WebWork (Quartz.NET) Web版的Windows服务
- 作业调度框架 Quartz 学习笔记(一) -- HelloWorld !!!
- 定时调度Quartz框架学习小demo
- 作业调度框架 Quartz 学习笔记(四) -- 接收参数和维护状态
- 作业调度框架 Quartz 学习笔记(三) -- Cron表达式
- 作业调度框架 Quartz 学习笔记(五) -- 错过的任务怎么办?
- 作业调度框架 Quartz 学习笔记(四) -- 接收参数和维护状态
- 作业调度框架 Quartz 学习笔记(三) -- Cron表达式
- 作业调度框架 Quartz 学习笔记(四) -- 接收参数和维护状态