2013-10-22 43 views
0

我在我的grails项目中使用quartz插件作为cron调度。 在我的应用程序中,用户给出了我使用石英设置为cron的脚本和cron配置。在服务器重启时使用grails自动重启cron作业

但是,当我重新启动服务器这些cron作业不会启动。 我是否必须再次手动创建这些cron作业,或者有自动存储和重新启动它们的方法。

这是我的石英工作

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

这里是一个通过图接收来自用户请求设置cron

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

这个cron定控制器。现在,当我重新启动服务器时,cron不会启动。 我正在cron中存储cron信息,并可以使用它在启动时再次设置cron。

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

+0

您可以发布您的代码的地方。 – user1791574

回答

1

我想从您的BootStrap.groovy中至极在启动时执行就可以触发DailyJob,这里是安排您的工作

class BootStrap { 


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

我不能这样做,因为cron是由最终用户创建的。我无法去bootstrap.groovy手动添加crons –

+0

以及我不知道你的工作域如何看起来像你的数据库,但当然你可以从数据库中获取所有相关数据而不是硬编码 –

+0

请参阅代码。我相信这会帮助你理解我的问题。谢谢 –

相关问题