grails - grails中设置Quartz的repeatInterval的值

标签 grails groovy quartz-scheduler

我想从数据库中获取一个值,然后将其设置为 grails 中 Quartz 插件中作业的重复间隔值。我按照下面的方法做了这个。

class StartJob {
     def interval = Settings.first().interval

    static triggers = {
        simple name: 'mySimpleTrigger', startDelay: 2000, repeatInterval:interval

    }
    def group = "MyGroup"
    def execute(){
        //do something
    }
}

从表Settings中获取第一行,然后获取其间隔列并将其放入简单触发器中。现在的问题是间隔是非静态的并且触发器是静态的,这会因不匹配而产生错误。我该如何处理这种情况?有什么方法可以解决这个问题,从其他地方触发工作等等?

最佳答案

Is there any way to sort this out, trigger the job from somewhere else etc.. ?

是的,您可以像这样手动安排作业:

  MyJob.schedule(Long repeatInterval, Integer repeatCount?, Map params?)

在此处查看其他示例:http://grails-plugins.github.io/grails-quartz/guide/triggers.html

关于grails - grails中设置Quartz的repeatInterval的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20857121/

相关文章:

grails - 抽象域类和命名查询继承?

groovy - 在编译Groovy类时遇到奇怪的stacktrace

maven - 无法在存储库中心找到资源 'opensymphony:quartz-all:pom:1.6.3'

jquery - Grails:标签 [remotelink] 不存在。找不到 namespace 的标记库:g

grails - 订单不符合 Grails 中的标准

mysql - Grails 在启动期间创建 mysql 表

grails - 如何导出Config.groovy中相对目录的物理路径?

groovy - 如何附加到groovy中的数组

C# - 当站点上没有事件时,Quartz 调度程序停止运行

java - 如何编写 cron 表达式,在两个时间触发