在groovy中手动设置quartz作业的nextFireTime
我想在quartz作业上使用自己的错误处理。发生异常时,每个作业都有不同的等待时间。例如,作业每30秒运行一次,但发生异常时,作业应等待5分钟 我尝试过这种方法,但不起作用:在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
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)