今天项目上用到了Quartz轮训任务,需要配置一个参数,这个参数来控制Job任务是否并行,这个参数是concurrent。默认是true,参考spring源码如下:
如果concurrent设为true,到了指定的时间就如去执行,不管上一次有没有执行完,如有一个Job每隔2分钟执行一次,但是每次要执行5分钟,这就出现了几次并行的情况,可能之间有些操作有相互影响(看业务场景);
如果concurrent设为false,类似于串行,这个Job第一次没有执行完,第二次会推迟等待直到第一次执行完后,再执行第二次。