如何防止Quartz Scheduler丢失少量执行

时间:2019-11-20 09:54:20

标签: spring-boot quartz-scheduler

我们有石英调度程序来触发jenkins作业,该作业将通过Jenkins create API即时创建。 因此,我将我的create jenkins作业API调用放置在execute内部方法内。当发出多个并行请求时,有时会拾取所有请求以执行,有时会丢失一些请求。 错过执行的次数有所不同。 我该如何停止并制作石英表来执行我的所有请求。

试图增加线程数和断火阈值,但问题仍然存在

1 个答案:

答案 0 :(得分:0)

似乎您所需要的只是根据业务逻辑和触发器类型设置正确的失火指令

Trigger trigger = TriggerBuilder.newTrigger() .
    withIdentity(changePoolNameTriggerKey).
    startAt(new DateTime().plusSeconds(configuration.getInt(JobConstants.execution_latency)).
    toDate().
    build(); 


((MutableTrigger) trigger).setMisfireInstruction(MISFIRE_INSTRUCTION_FIRE_NOW)