已安装Quartz插件,但作业不是以grails开头的

时间:2012-05-18 03:56:33

标签: grails quartz-scheduler

我刚安装了石英插件(quartz2-0.2.2),我使用的是grails-1.3.7。

然后我使用“grails create-job”创建了我的作业类,并修改了它以打印出一条消息作为测试。

class ImportFilesJob {

    def startDelay = 100000L

    def cronExpression = "0 30 22 * * ?"

    def execute() {
        log.info"ImportFilesJob start!"
        println "ImportFilesJob start!"
        Date runDate = DateUtils.today
        long start = System.currentTimeMillis()
        long end = System.currentTimeMillis()
        log.info "Finished ImportFilesJob in ${end - start} millisec."
        println"Finished ImportFilesJob in ${end - start} millisec."
    }
}

现在,我预计这项工作将在每天晚上10点30分开始。

但事实并非如此......

我错过了什么吗?

Thanx任何帮助。

Nimmy

2 个答案:

答案 0 :(得分:2)

这是在你的“测试”环境中吗?如果是这样,Quartz配置为不在测试中自动启动。检查QuartzConfig.groovy文件并设置

  

autoStartup = true

要等到10:30之后再检查一下,你可以使用下面的cron表达式每隔3分钟启动它,看看它是否正常工作:

  

“0 0/3 * * *?”

答案 1 :(得分:2)

我猜你忘记了“触发器”块:

class MyFirstJob{
    def concurrent = false

    static triggers = {
        simple name: 'myFirstJobTrigger', startDelay: 1000, repeatInterval: 1000 }

    def group = "MyGroup"

    def execute(){ 
        println "MyFirstJob run!" 
    }
}