【问题标题】:How to execute Groovy script within Grails by Cron如何通过 Cron 在 Grails 中执行 Groovy 脚本
【发布时间】:2016-10-09 14:26:25
【问题描述】:

我有一个 Grails 应用程序,但我需要通过 Cron 执行一些脚本。此脚本必须具有 Gorm 对数据库的访问权限。 可以制作grails create-script cron-script。但是如何将其部署到war或jar文件中?

【问题讨论】:

    标签: grails groovy


    【解决方案1】:

    在 Grails 应用程序中定期执行脚本的最常用方法是通过 Quartz 插件。没有简单的方法可以从 cron 作业访问 GORM。

    【讨论】:

      【解决方案2】:

      如果您安装了控制台插件,则可以使用 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-16
        • 2012-11-14
        • 2023-03-06
        • 1970-01-01
        • 2016-10-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-09
        相关资源
        最近更新 更多