首页 > 代码库 > Quartz学习

Quartz学习

<quartz>
<add key="quartz.scheduler.instanceName" value="http://www.mamicode.com/AOP" />
<add key="quartz.threadPool.type" value="http://www.mamicode.com/Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="http://www.mamicode.com/1" />
<add key="quartz.threadPool.threadPriority" value="http://www.mamicode.com/2" />
<add key="quartz.jobStore.misfireThreshold" value="http://www.mamicode.com/60000" />
<add key="quartz.jobStore.type" value="http://www.mamicode.com/Quartz.Simpl.RAMJobStore, Quartz" />
<add key="quartz.plugin.xml.type" value="http://www.mamicode.com/Quartz.Plugin.Xml.JobInitializationPlugin, Quartz" />
<add key="quartz.plugin.xml.fileNames" value="http://www.mamicode.com/~/quartz_jobs.xml" />
</quartz>

 

quartz.threadPool.threadCount 设置为1的时候 可以保证每次只运行一个job  不会因为上个job还没执行完     到触发时间点新开一个job

 

quartz.jobStore.misfireThreshold说明  这个是设置错过触发的时间门槛的 意思就是   错过的时间超过了这个门槛 就放弃这次调度 等待下次触发

 

举例 任务是每秒触发一次 任务时长10秒

 

超时门槛60s

之前 现在 下一

41   42     43

42   43     44

虽然已经过了10秒 但还是从计划的43时间点继续执行 补上错过的触发

 

超时门槛1s

之前 现在 下一

38   48     49

48   58     59

可以注意到 预计下次49时间点的 由于超时了(现在58)  放弃错过的触发 直接从58开始触发