4
我在使用Quartz2插件的GRAILS中有一個簡單的應用程序。 在作業文件我有:如何避免啓動聖盃啓動石英開始
static triggers = {
simple repeatCount: 0 // execute job once in 5 seconds
cron cronExpression: '0 15 2 * * ?'
}
def execute() {
if (Environment.current == Environment.PRODUCTION)
do something...
}
一切正常,在這種情況下,如果它不是在生產中觸發被忽略。 現在問題很簡單,如果我在生產中啓動應用程序,那麼在grails啓動後立即開始工作。我希望避免應用程序啓動時儘快運行,但只有在cronExpression中正確設置時纔會運行。
有什麼想法?
UPDATE: 在我把這個線Config.groovy中底:
environments {
development {
grails.logging.jul.usebridge = true
grails.plugin.quartz2.autoStartup = false
}
production {
grails.logging.jul.usebridge = false
}
}
現在看來不是在引導我做了幾個測試更多的開始,我讓你知道。
謝謝
UPDATE2: 現在好了時間表沒有啓動可言,我期待它開始,但不執行調度的工作,但等待合適的時機來觸發它。任何幫助?
非常感謝
UPDATE3: 很抱歉,但我覺得自己很愚蠢,添加簡單的repeatCount:0火一旦在啓動時,所以刪除它的作品完美,對不起一次。
GeoGriffin嗨,感謝宇的回答。我在配置下添加文件,並複製並粘貼您的設置行,但沒有任何內容。當我啓動grails應用程序時,我將printline放在execute()方法中,因爲某些原因,我看到了打印行,即使我處於開發環境並將atuostartup設置爲false,它仍然會運行。我正在使用Grails 2.1和quartz2 2.2版本。我看到有2.3版本,我會嘗試更新並查看。再次感謝 – NiBE
只需安裝版本2.3同樣的問題:( – NiBE
如果你安裝了Quartz Monitor('grails install-plugin quartz-monitor'),那麼你應該可以到'/ quartz/list'去查看你的工作已配置和Quartz進程的狀態。 – GeoGriffin