首页 文章

在服务器重启时使用grails中的石英自动重启cron作业

提问于
浏览
0

我在我的grails项目中使用石英插件进行cron调度 . 在我的应用程序中,用户提供了一个脚本和cron配置,我使用quartz设置为cron .

但是,当我重新启动服务器时,这些cron作业无法启动 . 我是否必须再次手动创建这些cron作业,或者有一种方法可以自动存储和重新启动它们 .

这是我的Quartz Job

class RscriptJob {
    def execute() {
        println "hello"
    }
}

这是控制器,它通过视图接收来自用户的请求以 Build 一个cron

class UploadsController {
   def upload() {
      def cron=params.cronString
      RscriptJob.schedule(cron)
   }
}

cron已经安排好了 . 现在,当我重新启动服务器时,cron没有启动 . 我在cdb中存储cron信息,可以在启动时使用它来再次设置cron .

但我想知道石英是否具有支持它的内置功能 .

1 回答

  • 1

    我想你可以从启动时执行的bootstrap.groovy触发DailyJob,这里是安排工作的地方

    class BootStrap {
    
    
            def init = { servletContext ->
                def cronExpression = "*/10 * * * * ?"
                DailyJob.schedule(cronExpression)
            }
        }
    

相关问题