我刚安装了石英插件(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
答案 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!"
}
}