我是新手在Grails中使用Quartz插件并想运行简单的应用程序。我使用了以下代码(表单石英插件文档),但它只运行一次。任何的想法?我应该设置什么吗?
由于
class MyJob {
static triggers = { simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000 }
def group = "MyGroup"
def execute(){
println "Running Job!"
}
}
答案 0 :(得分:1)
我在println中添加了“new Date()”,现在可以了!
class MyJob {
static triggers = { simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000 , repeatCount:-1}
def group = "MyGroup"
def execute(){
println "Running Job!"+new Date()
}
}
似乎对我来说石英做了一些优化,当作业状态不变时它会运行一次!
答案 1 :(得分:0)
如果要多次运行作业,请在简单触发器定义中指定repeatCount:
repeatCount - 触发器将触发作业执行(1 + repeatCount)次并在此之后停止(在此指定0以执行一次性作业或-1以无限期地重复执行作业)
答案 2 :(得分:0)
您可以在触发器中定义 cron ,以便配置您的作业何时执行:
static triggers = {
cron name: 'mySimpleCron', cronExpression: "0 30 15 * * ?"
}
这将在每天15:30:00开始工作。
另一个例子:
1.每天从下午2点开始,每天下午2:05结束,每天都开火:
cronExpression: "0 0-5 14 * * ?"
2.每周一,周二,周三,周四和周五上午10:15开火:
cronExpression: "0 15 10 ? * MON-FRI"
7个术语表达式的sintax是:
* * * * * * *
| | | | | | |_ Year [optional]
| | | | | |_ Day of Week, 1-7 or SUN-SAT, ?
| | | | |_ Month, 1-12 or JAN-DEC
| | | |_ Day of Month, 1-31, ?
| | |_ Hour [0-23]
| |_ Minute [0-59]
|_ Second [0-59]
以这种方式定义作业执行行为更容易,只需更改表达式而不是整个代码,您就可以有更多选项来配置。
这些链接中的更多信息:
<强> CronTrigger Tutorial 强>