1

我刚刚安装了石英插件(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 开始。

但事实并非如此……

我错过了什么吗?

感谢任何帮助。

尼米

4

2 回答 2

4

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

自动启动 = 真

为了尽快检查是否等到 10:30,您可以使用以下 cron 表达式每 3 分钟启动一次,以查看它是否正常工作:

“0 0/3 * * * ?”

于 2012-05-18T04:08:10.537 回答
2

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

class MyFirstJob{
    def concurrent = false

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

    def group = "MyGroup"

    def execute(){ 
        println "MyFirstJob run!" 
    }
}
于 2012-05-18T18:06:09.650 回答