如何在grails中将并发执行属性配置为false

时间:2014-06-19 05:19:36

标签: grails thread-safety quartz-scheduler

您好我是Grails的新手,我正在使用石英插件来安排工作。我每隔60秒安排一次工作,但实际上它花费的时间超过60秒所以在这种情况下,又启动了一个线程并且第一个线程仍在运行所以任何人都可以告诉我如何逐个顺序执行线程。 / p>

1 个答案:

答案 0 :(得分:3)

使用Grails Quartz plugin时,您只需将concurrent属性设置为false即可避免并发执行Job:

class MyJob {

  static triggers = {
    ...
  }

  def concurrent = false

  def execute(context) {
     ...
  }
}

如果您使用Quartz作为普通依赖项(不是Grails插件),则需要扩展StatefulJob(Quartz< 2.0)或设置@StatefulJob@DisallowConcurrentExecution注释(Quartz> = 2.0)。