使用Grails Quartz插件的多个调度程序

时间:2011-06-15 17:54:37

标签: grails quartz-scheduler

我有一个使用Grails Quartz插件的应用程序。我需要有两个作业来运行多个实例,但是对每个作业使用的线程数有单独的限制。据我所知,我需要单独的线程池,这可以通过单独的调度程序来实现。但是,我无法弄清楚如何使用Quartz插件创建多个调度程序。

2 个答案:

答案 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
  }