簡體   English   中英

在Grails中使用Quartz插件

[英]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]

通過這種方式定義作業執行行為會更容易,並且您將有更多選項可以配置,僅通過更改表達式而不是整個代碼即可。

這些鏈接中的更多信息:

CronTrigger教程

用於Grails的Quartz插件-參考文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM