在groovy中手动设置quartz作业的nextFireTime

在groovy中手动设置quartz作业的nextFireTime,groovy,quartz-scheduler,Groovy,Quartz Scheduler,我想在quartz作业上使用自己的错误处理。发生异常时,每个作业都有不同的等待时间。例如,作业每30秒运行一次,但发生异常时,作业应等待5分钟 我尝试过这种方法,但不起作用: SchedulerFactory sf = new StdSchedulerFactory() Scheduler sched = sf.getScheduler() def name = "jobname" Trigger trigger = sched.getTrigger(new TriggerKey

我想在quartz作业上使用自己的错误处理。发生异常时,每个作业都有不同的等待时间。例如,作业每30秒运行一次,但发生异常时,作业应等待5分钟

我尝试过这种方法,但不起作用:

SchedulerFactory sf = new StdSchedulerFactory()
Scheduler sched = sf.getScheduler()        
def name = "jobname"
Trigger trigger = sched.getTrigger(new TriggerKey("trigger_" + name))
def currentDate = new Date()
use (TimeCategory) {
    currentDate = currentDate + 300.seconds
}
trigger.nextFireTime = currentDate
作业将在30秒后再次运行


我做错了什么?

我可能做错了,但您确定只需设置
nextFireTime
属性就可以安排作业吗

我想你必须使用,org.quartz.Trigger)重新安排工作

e、 g


这将在5分钟内运行作业,然后您必须重新安排它在30秒内运行。

感谢您的回答,遗憾的是没有简单的解决方案。
SchedulerFactory sf = new StdSchedulerFactory()
Scheduler sched = sf.getScheduler()        
def name = "jobname"
Trigger trigger = sched.getTrigger(new TriggerKey("trigger_" + name))
trigger.repeatInterval = 30000
sched.rescheduleJob(trigger.name, trigger.group, trigger)