Events Grails,每天、每周等重复调用一次操作
我希望每天定期调用一次action o过程,而不需要有人登录 这可能吗?如果可能,我该怎么做 这是我的触发器:Events Grails,每天、每周等重复调用一次操作,events,grails,time,Events,Grails,Time,我希望每天定期调用一次action o过程,而不需要有人登录 这可能吗?如果可能,我该怎么做 这是我的触发器: package com.myproj.jobs class DailyCheck { static triggers = { // cron name: 'dailyCheck', cronExpression: "03 * * * * ?" simple name: 'myJobSimple', repeatInterval: 600
package com.myproj.jobs
class DailyCheck {
static triggers = {
// cron name: 'dailyCheck', cronExpression: "03 * * * * ?"
simple name: 'myJobSimple', repeatInterval: 6000
}
def dailyCheckService
def execute() {
println(">>>>>>>>> DAILY JOB EXECUTES <<<<<<<")
dailyCheckService.checkOffers()
}
}您可以使用
格雷德尔先生
dependencies {
compile 'org.grails.plugins:quartz:2.0.12'
}
/grails应用程序/jobs/MyJob.groovy
class MyJob{
static triggers = {
// fire every day at 12:30
cron name: 'myJobCron', cronExpression: "0 30 12 * * ?"
}
def myService
def execute( context ) {
myService.doStuff()
}
}
通过在grails app/conf中添加一个名为QuartzConfig.groovy的配置文件来解决此问题,该文件包含以下内容:
quartz {
autoStartup = true
jdbcStore = false
}
environments {
test {
quartz {
autoStartup = false
}
}
}
对于Mike W,我要补充一点,在开始时仍然没有可见的日志记录,因此它可能已经被这个最新版本删除了?对于您正在使用的任何版本的grails,都有一个quartz插件。我会检查一下。我正在使用Grails-3.2.3。真的这么简单吗?我要等一会儿,直到有结果为止。谢谢你!好吧,它似乎永远不会执行,因为我在测试我在开发模式下运行,我知道我需要配置插件,但没有可编辑的配置文件。我还尝试了grails install quartz config,但grails找不到该命令。除非您希望对某些方面进行细粒度控制,否则不需要添加配置。您将cron计划更改为什么?您可以使用一个简单的触发器,例如,这将每隔60秒触发一次简单名称:“myJobSimple”,repeatInterval:6000000,将其添加到触发器块并注释掉cron schedule我在问题中包含的代码。尝试了简单的方法,但没有发生任何事情。如果安装正确,当应用程序启动时,您应该会看到一个与quartz相关的日志块,它将包含类似QuartzScheduler-quartz Scheduler v.2.2.2的内容。您看到了吗?
quartz {
autoStartup = true
jdbcStore = false
}
environments {
test {
quartz {
autoStartup = false
}
}
}