2016-04-04 49 views
0

是否可以创建一个Gradle任务来执行Grails服务方法?执行Grails服务的Gradle任务

在我的Grails应用程序中,我有一个服务用于计算要在目标服务器上部署的数据,通常用于从浏览器调用Controller来生成数据,但我更愿意通过脚本为了在部署过程中仅包含自动命令。

注意:我不能仅仅实例化类,因为它需要运行Grails才能使用Hibernate和域类配置。

回答

0

一种可能性是,使用石英插件开始与调度服务:

https://grails.org/plugin/quartz

的文档可以在这里找到:

http://grails-plugins.github.io/grails-quartz/guide/scheduling.html

一份工作开始服务看起来像这样:

class ImportJob { 
    static triggers = { 
     simple name: 'importJob', startDelay: 0, repeatInterval: 500 // execute job once in 500 milliseconds 
    } 

    def ighImportService 

    def concurrent = false 

    def execute() { 
     ighImportService.processNextChunk() 
    } 
} 

在此示例中,ighImporService被注入到importJob中,并且其processNextChunk()方法将每隔500毫秒加载一次。