是否可以创建Gradle任务来执行Grails服务方法?
在我的Grails应用程序中,我有一个服务,用于计算要在目标服务器上部署的数据,通常我用来从浏览器调用Controller来生成数据,但我更愿意通过脚本按顺序执行在部署过程中仅包含自动命令。
注意:我不能只是实例化该类,因为它需要运行Grails才能使用Hibernate和域类配置。
答案 0 :(得分:0)
可能的情况是,使用quartz插件以计划启动服务:
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毫秒加载一次。