我想从数据库中获取一个值,然后将其设置为grails中Quartz插件中作业的repeatInterval值。我这样做了。
class StartJob {
def interval = Settings.first().interval
static triggers = {
simple name: 'mySimpleTrigger', startDelay: 2000, repeatInterval:interval
}
def group = "MyGroup"
def execute(){
//do something
}
}
从表Settings
中获取第一行,然后获取其interval列并将其放入简单触发器中。现在的问题是,间隔是非静态的,触发器是静态的,由于不匹配而产生错误。我该如何处理这种情况?有没有办法解决这个问题,从其他地方触发工作等等。?
答案 0 :(得分:1)
类StartJob {
static def interval = Settings.getAll().get(0).interval static triggers = { simple name: 'mySimpleTrigger', startDelay: 2000, repeatInterval:interval } def group = "MyGroup" def execute(){ //do something } }
答案 1 :(得分:1)
有没有办法解决这个问题,从其他地方触发工作 等等。?
是的,你可以像这样手动安排工作:
MyJob.schedule(Long repeatInterval, Integer repeatCount?, Map params?)
请参阅此处的其他示例:http://grails-plugins.github.io/grails-quartz/guide/triggers.html