对于我们的一个应用程序,我们有不同的任务,我们希望按计划进行。然而,出于几个不同的原因,我们不想为 quartz 烦恼。
在 grails 中,我们如何安排可以定期运行的任务?
最佳答案
经过一段时间的研究,我们得出了这个结论:
在 Groovy 源包中,我们创建了一个接口(interface)
interface Task{
void executeTask()
}
接下来我们创建了我们的任务:
class SayHelloTask implements Task{
void executeTask(){
println "Hello"
}
}
在 resources.groovy
文件中,我们添加了以下内容:
import package.SayHelloTask
beans = {
sayHelloTask(SayHelloTask){
}
xmlns task: "http://www.springframework.org/schema/task"
task.'scheduled-tasks'{
task.scheduled(ref:'retryEmailTask', method: 'executeTask', cron: '0-59 * * * * *')
}
}
我们采用这个解决方案是因为它减少了 Quartz 的开销。它符合我们在 Java 项目中做事的方式。
关于Grails 在没有插件的情况下安排任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115359/