【发布时间】:2016-10-09 14:26:25
【问题描述】:
我有一个 Grails 应用程序,但我需要通过 Cron 执行一些脚本。此脚本必须具有 Gorm 对数据库的访问权限。
可以制作grails create-script cron-script。但是如何将其部署到war或jar文件中?
【问题讨论】:
我有一个 Grails 应用程序,但我需要通过 Cron 执行一些脚本。此脚本必须具有 Gorm 对数据库的访问权限。
可以制作grails create-script cron-script。但是如何将其部署到war或jar文件中?
【问题讨论】:
在 Grails 应用程序中定期执行脚本的最常用方法是通过 Quartz 插件。没有简单的方法可以从 cron 作业访问 GORM。
【讨论】:
如果您安装了控制台插件,则可以使用 curl 从 cron 执行的 shell 脚本中调用它。做这样的事情:
#/bin/bash
import groovy.sql.Sql
def dataSource = ctx.dataSource
def sql = new Sql(dataSource)
curl -i -H "Content-type: application/x-www-form-urlencoded" -c /tmp/cookies.txt -X POST www.yoursite.com/j_spring_security_check -d "j_username=admin@yoursite.com&j_password=verysecretpassword"
curl -i -b /tmp/cookies.txt -d 'code=
sql.executeUpdate("insert into yourtable (test) values (42)")
' www.yoursite.com/console/execute
【讨论】: