我有一个使用Grails Quartz插件的应用程序。我需要有两个作业来运行多个实例,但是对每个作业使用的线程数有单独的限制。据我所知,我需要单独的线程池,这可以通过单独的调度程序来实现。但是,我无法弄清楚如何使用Quartz插件创建多个调度程序。
答案 0 :(得分:0)
假设您想要使用不同的触发器多次启动作业。这适合我。
class MyJob {
static triggers = {
cron name: 'trigger1', cronExpression: "0 30 12 ? * WED"
cron name: 'trigger2', cronExpression: "0 30 12 ? * SAT"
}
def execute() {
// execute task, do your thing here
println "Job executed"
}
}
最后,关于并发任务。 这是来自插件页面:
默认情况下,Job以并发方式执行,因此新的Job 即使先前执行相同的Job,执行也可以开始 还在跑步。
答案 1 :(得分:0)
Quartz插件2.0.13
根据官方documentation:
每个作业允许多个触发器。
例如,
class MyJob {
static triggers = {
simple name:'simpleTrigger', startDelay:10000, repeatInterval: 30000, repeatCount: 10
cron name:'cronTrigger', startDelay:10000, cronExpression: '0/6 * 15 * * ?'
custom name:'customTrigger', triggerClass:MyTriggerClass, myParam:myValue, myAnotherParam:myAnotherValue
}