2012-02-21 70 views
3

我正在尝试使用Quartz插件来实现一些作业调度。我有ScheduledTask域类:使用Quartz进行动态作业调度

class ScheduledTask { 
     String dayOfMonth 
     Contact suggestedSupport 
     String status 

     static constraints = { 
      dayOfMonth(blank:false,nullable:false) 
      suggestedSupport(blank:false,nullable:false) 
      status(blank:false,nullable:false) 
     } 
} 

我需要的逻辑去通过所有ScheduledTask情况下,做一些东西 - 每个实例的工作将在请将dayOfMonth被解雇 - 例如,如果请将dayOfMonth值对于具体的ScheduledTask实例是该例子的工作将在每个月的第25天发射。我怎样才能做到这一点?

回答

3

在插件文档查一查“动态作业调度”一节http://grails.org/plugin/quartz

您需要动态地为每个ScheduledTask实例中的作业(可能是创建实例)

它应该是相对容易遵循文档并编写代码。如果您遇到困难,请在SO上发布具体问题。

+4

我注意到文档仍然不准确,任何试图执行它的人都会注意到这项工作马上就被解雇了。您必须声明一个空的触发器阻止作业类像类MyJob { 静态触发器= {} 高清执行(上下文){ 的println context.mergedJobDataMap.get( 'MYDATA的') } }我几年前在这里写了一篇博客,我认为它仍然如此:http://blogs.quovantis.com/shalvika/2012/04/scheduling-jobs-dynamically-with-grails/ – Shalvika 2013-10-01 13:41:51