使用Grails+Quartz调度任务的编程方法

19 views
Skip to first unread message

foxgem

unread,
Dec 16, 2009, 12:51:59 AM12/16/09
to groovy-xa
 
虽然作者也是使用Grails + Quartz Plugin,但是他并没有直接使用plugin的create-job。反而使用的是用一个Service实现Job,然后在其他位置来完成Job的调度。
大致做法如下:
1。grails install-plugin quartz
2。grails create-service JobScheduler,该Service实现Job接口
3。调度任务,作者给出了两个例子
      - 简单的一次性任务

def scheduleOneOff() {

    def jobDetail = new JobDetail(”myJob”, null, JobScheduler.class);

    def trigger = new SimpleTrigger(”myTrigger”, null, new Date() + 1)

    quartzScheduler.scheduleJob(jobDetail, trigger);

}

      - 周期性任务

def scheduleMonthly() {

   def jobDetail = new JobDetail(”myJob”, null, JobScheduler.class);

   def trigger = TriggerUtils.makeMonthlyTrigger(1, 2, 0);

   trigger.setStartTime(new Date() + 1)

   trigger.setName(”myTrigger”);

   quartzScheduler.scheduleJob(jobDetail, trigger);

}

Reply all
Reply to author
Forward
0 new messages