我在 GRAILS 中有一个使用 Quartz2 插件的简单应用程序。在工作文件中,我有:
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 中正确设置。
任何想法?
更新:最后我把这一行放在 config.groovy 中:
environments {
development {
grails.logging.jul.usebridge = true
grails.plugin.quartz2.autoStartup = false
}
production {
grails.logging.jul.usebridge = false
}
}
现在似乎不是从引导程序开始我必须做更多的测试,我让你知道。
谢谢你
UPDATE2:好的,现在计划根本没有开始,我期待它开始但不执行计划的作业,而是等待正确的时间来触发它。有什么帮助吗?
多谢
UPDATE3:对不起,但我觉得很愚蠢,在启动时添加简单的 repeatCount:0 火,所以删除它可以完美运行,再次抱歉。