Grails 在没有插件的情况下安排任务

标签 grails scheduled-tasks grails-2.0

对于我们的一个应用程序,我们有不同的任务,我们希望按计划进行。然而,出于几个不同的原因,我们不想为 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/

相关文章:

grails - 即使使用 DELEGATE_FIRST/DELEGATE_ONLY 解析策略,也无法隐式委托(delegate)闭包内的方法

grails - 如何有条件地禁用表单输入字段

hibernate - Grails/GORM/Hibernate:引用未保存的 transient 实例的域实例的属性列表

variables - 带有变量的Grails FindAllWhere

python - Telegram 类型错误 : the first argument must be callable

python - 将参数传递给 QTimer 超时信号?

powershell - 使用计划的 Powershell 脚本调用 URL

grails - 我如何列出 grails 插件的所有 Controller /服务

grails - RestBuilder插件。如何在不创建文件的情况下上传文件?

javascript - jQuery可编辑数据网格突然无法在Firefox中工作