[英]Using Quartz Plugin in Grails
我是在Grails中使用Quartz插件的新手,並且想要運行簡單的應用程序。 我使用了以下代碼(形成石英插件文檔),但僅運行一次。 任何想法? 我應該設置什么嗎?
謝謝
class MyJob {
static triggers = { simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000 }
def group = "MyGroup"
def execute(){
println "Running Job!"
}
}
我在println中添加了“新的Date()”,它現在可以工作了!
class MyJob {
static triggers = { simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000 , repeatCount:-1}
def group = "MyGroup"
def execute(){
println "Running Job!"+new Date()
}
}
在我看來 ,石英做了一些優化 ,當工作狀態恆定時,它將運行一次!
如果要多次運行作業,請在簡單的觸發器定義中指定repeatCount:
repeatCount —觸發器將觸發作業執行(1 + repeatCount)次並在此之后停止(在此處指定0表示一次執行,或-1表示無限期地重復執行作業)
您可以在觸發器內定義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個條件表達式的正弦值為:
* * * * * * *
| | | | | | |_ 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]
通過這種方式定義作業執行行為會更容易,並且您將有更多選項可以配置,僅通過更改表達式而不是整個代碼即可。
這些鏈接中的更多信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.