Grails 통합 Quartz 플러그인으로 작업 시간(Job)

build.gradle 의존:
//   
compile 'org.grails.plugins:quartz:2.0.0.M4'

명령을 실행하는 job을 만듭니다.
create-job com.test.Test

TestJob을 수정하려면:
package com.test

class TestJob {

static triggers = {}

    def execute(context) {
        // execute job
        println "  ..."
        
        //          
        def msg = context.mergedJobDataMap.get("tip")
        println msg
    }
}

디렉터에서 동적 호출:
def personPush() {
    println "xxxxx"
    
    //    job 
    TestJob.schedule(new Date(),[tip: "      。。。"])
}

타이밍 작업 일시 중지
def jobManagerService

def index() {
    //         
    jobManagerService.pauseAll()
    render "Stop all Job."
}

복구 시간 작업
jobManagerService.resumeAll()
JobManagerService 서비스에서 자주 사용하는 방법
Map > getAllJobs() {}

List getJobs(String group) {}

def getRunningJobs() {}

def pauseJob(String group, String name) {}

def resumeJob(String group, String name) {}

def pauseTrigger(String group, String name) {}

def resumeTrigger(String group, String name) {}

def pauseTriggerGroup(String group) {}

def resumeTriggerGroup(String group) {}

def pauseJobGroup(String group) {}

def resumeJobGroup(String group) {}

def pauseAll() {}

def resumeAll() {}

def removeJob(String group, String name) {}

def unscheduleJob(String group, String name) {}

def interruptJob(String group, String name) {}
  • 클래스grails.plugins.quartz.JobManagerService
  • 일반적인 방법:
    MyJob.schedule(String cronExpression, Map params) //   cron   
    MyJob.schedule(Long repeatInterval, Integer repeatCount, Map params) //         : repeatInterval         repeatCount + 1 
    MyJob.schedule(Date scheduleDate, Map params) //               
    MyJob.schedule(Trigger trigger) //                 
    MyJob.triggerNow(Map params) //         

    좋은 웹페이지 즐겨찾기